Browse Source

C#: Escape signal parameters

Zae 9 months ago
parent
commit
2a3d400dd8

+ 2 - 2
modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/EventSignals_ScriptSignals.generated.cs

@@ -32,9 +32,9 @@ partial class EventSignals
         add => backing_MySignal += value;
         remove => backing_MySignal -= value;
 }
-    protected void EmitSignalMySignal(string str, int num)
+    protected void EmitSignalMySignal(string @str, int @num)
     {
-        EmitSignal(SignalName.MySignal, str, num);
+        EmitSignal(SignalName.MySignal, @str, @num);
     }
     /// <inheritdoc/>
     [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]

+ 3 - 3
modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs

@@ -295,7 +295,7 @@ namespace Godot.SourceGenerators
                 for (int i = 0; i < paramCount; i++)
                 {
                     var paramSymbol = invokeMethodSymbol.Parameters[i];
-                    source.Append($"{paramSymbol.Type.FullQualifiedNameIncludeGlobal()} {paramSymbol.Name}");
+                    source.Append($"{paramSymbol.Type.FullQualifiedNameIncludeGlobal()} @{paramSymbol.Name}");
                     if (i < paramCount - 1)
                     {
                         source.Append(", ");
@@ -310,11 +310,11 @@ namespace Godot.SourceGenerators
                     if (paramSymbol.Type.TypeKind == TypeKind.Enum)
                     {
                         var underlyingType = ((INamedTypeSymbol)paramSymbol.Type).EnumUnderlyingType;
-                        source.Append($", ({underlyingType.FullQualifiedNameIncludeGlobal()}){paramSymbol.Name}");
+                        source.Append($", ({underlyingType.FullQualifiedNameIncludeGlobal()})@{paramSymbol.Name}");
                         continue;
                     }
 
-                    source.Append($", {paramSymbol.Name}");
+                    source.Append($", @{paramSymbol.Name}");
                 }
                 source.Append(");\n");
                 source.Append("    }\n");