mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
53 lines
1.8 KiB
ReStructuredText
53 lines
1.8 KiB
ReStructuredText
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.
|