summaryrefslogtreecommitdiffstats
path: root/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ExtensionMethods.cs
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ExtensionMethods.cs')
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ExtensionMethods.cs19
1 files changed, 18 insertions, 1 deletions
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ExtensionMethods.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ExtensionMethods.cs
index 9784bd0b78..957d5789df 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ExtensionMethods.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ExtensionMethods.cs
@@ -208,7 +208,17 @@ namespace Godot.SourceGenerators
if (child.IsNode)
{
- FullQualifiedSyntax(child.AsNode()!, sm, sb, isFirstNode: innerIsFirstNode);
+ var childNode = child.AsNode()!;
+
+ if (node is InterpolationSyntax && childNode is ExpressionSyntax)
+ {
+ ParenEnclosedFullQualifiedSyntax(childNode, sm, sb, isFirstNode: innerIsFirstNode);
+ }
+ else
+ {
+ FullQualifiedSyntax(childNode, sm, sb, isFirstNode: innerIsFirstNode);
+ }
+
innerIsFirstNode = false;
}
else
@@ -221,6 +231,13 @@ namespace Godot.SourceGenerators
sb.Append(child.GetTrailingTrivia());
}
}
+
+ static void ParenEnclosedFullQualifiedSyntax(SyntaxNode node, SemanticModel sm, StringBuilder sb, bool isFirstNode)
+ {
+ sb.Append(SyntaxFactory.Token(SyntaxKind.OpenParenToken));
+ FullQualifiedSyntax(node, sm, sb, isFirstNode);
+ sb.Append(SyntaxFactory.Token(SyntaxKind.CloseParenToken));
+ }
}
public static string SanitizeQualifiedNameForUniqueHint(this string qualifiedName)