1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- GD0002: Missing partial modifier on declaration of type which contains nested classes that derive from GodotObject
- ==================================================================================================================
- ==================================== ======================================
- Value
- ==================================== ======================================
- **Rule ID** GD0002
- **Category** Usage
- **Fix is breaking or non-breaking** Non-breaking
- **Enabled by default** Yes
- ==================================== ======================================
- Cause
- -----
- A type that derives from ``GodotObject`` is contained in a non-partial type declaration.
- Rule description
- ----------------
- Godot source generators add generated code to user-defined types to implement
- the integration with the engine. Source generators can't add generated code to
- types that aren't declared partial.
- .. code-block:: csharp
- public class InvalidParentType
- {
- // MyNode is contained in a non-partial type so the source generators
- // can't enhance this type to work with Godot.
- public partial class MyNode : Node { }
- }
- public partial class ValidParentType
- {
- // MyNode is contained in a partial type so the source generators
- // can enhance this type to work with Godot.
- public partial class MyNode : Node { }
- }
- How to fix violations
- ---------------------
- To fix a violation of this rule, add the ``partial`` keyword to the type
- declaration.
- When to suppress warnings
- -------------------------
- Do not suppress a warning from this rule. Types that derive from ``GodotObject``
- but aren't partial can't be enhanced by the source generators, resulting in
- unexpected runtime errors.
|