1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Fix interpolated strings in ScriptPropertyDefVal

This commit is contained in:
Paul Joannon
2024-02-29 12:57:27 +01:00
parent df78c0636d
commit 42233284b1
5 changed files with 105 additions and 1 deletions

View File

@@ -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)