Browse Source

Merge pull request #8341 from raulsntos/dotnet/diagnostics-update

Update C# diagnostic documentation
Max Hilbrunner 1 year ago
parent
commit
1e2867c976

+ 2 - 2
tutorials/scripting/c_sharp/diagnostics/GD0001.rst

@@ -1,5 +1,5 @@
-GD0001: Missing partial modifier on declaration of type which is a subclass of GodotObject
-==========================================================================================
+GD0001: Missing partial modifier on declaration of type that derives from GodotObject
+=====================================================================================
 
 
 ====================================  ======================================
 ====================================  ======================================
                                       Value
                                       Value

+ 2 - 2
tutorials/scripting/c_sharp/diagnostics/GD0002.rst

@@ -1,5 +1,5 @@
-GD0002: Missing partial modifier on declaration of type which contains one or more subclasses of GodotObject
-============================================================================================================
+GD0002: Missing partial modifier on declaration of type which contains nested classes that derive from GodotObject
+==================================================================================================================
 
 
 ====================================  ======================================
 ====================================  ======================================
                                       Value
                                       Value

+ 36 - 0
tutorials/scripting/c_sharp/diagnostics/GD0107.rst

@@ -0,0 +1,36 @@
+GD0107: Types not derived from Node should not export Node members
+==================================================================
+
+====================================  ======================================
+                                      Value
+====================================  ======================================
+**Rule ID**                           GD0107
+**Category**                          Usage
+**Fix is breaking or non-breaking**   Breaking
+**Enabled by default**                Yes
+====================================  ======================================
+
+Cause
+-----
+
+A type that doesn't derive from ``Node`` contains an exported field or property
+of a type that derives from ``Node``.
+
+Rule description
+----------------
+
+Exported nodes are serialized as ``NodePath``. Only types derived from ``Node``
+are able to get the node instance from the ``NodePath``.
+
+How to fix violations
+---------------------
+
+To fix a violation of this rule, avoid exporting ``Node`` members on a type that
+doesn't derive from ``Node``, or consider exporting a ``NodePath``.
+
+When to suppress warnings
+-------------------------
+
+Do not suppress a warning from this rule. Types that don't derive from ``Node``
+will be unable to retrieve the right node instance for exported ``Node`` members,
+resulting in unexpected runtime errors.

+ 1 - 0
tutorials/scripting/c_sharp/diagnostics/index.rst

@@ -19,6 +19,7 @@ Rules
    GD0104
    GD0104
    GD0105
    GD0105
    GD0106
    GD0106
+   GD0107
    GD0201
    GD0201
    GD0202
    GD0202
    GD0203
    GD0203