C#: Report diagnostic for Node exports in a type that doesn't derive from Node
This commit is contained in:
parent
6916349697
commit
bfe1a93023
3 changed files with 44 additions and 1 deletions
|
|
@ -166,6 +166,15 @@ namespace Godot.SourceGenerators
|
|||
continue;
|
||||
}
|
||||
|
||||
if (marshalType == MarshalType.GodotObjectOrDerived)
|
||||
{
|
||||
if (!symbol.InheritsFrom("GodotSharp", "Godot.Node") &&
|
||||
propertyType.InheritsFrom("GodotSharp", "Godot.Node"))
|
||||
{
|
||||
Common.ReportOnlyNodesShouldExportNodes(context, property);
|
||||
}
|
||||
}
|
||||
|
||||
var propertyDeclarationSyntax = property.DeclaringSyntaxReferences
|
||||
.Select(r => r.GetSyntax() as PropertyDeclarationSyntax).FirstOrDefault();
|
||||
|
||||
|
|
@ -261,6 +270,15 @@ namespace Godot.SourceGenerators
|
|||
continue;
|
||||
}
|
||||
|
||||
if (marshalType == MarshalType.GodotObjectOrDerived)
|
||||
{
|
||||
if (!symbol.InheritsFrom("GodotSharp", "Godot.Node") &&
|
||||
fieldType.InheritsFrom("GodotSharp", "Godot.Node"))
|
||||
{
|
||||
Common.ReportOnlyNodesShouldExportNodes(context, field);
|
||||
}
|
||||
}
|
||||
|
||||
EqualsValueClauseSyntax? initializer = field.DeclaringSyntaxReferences
|
||||
.Select(r => r.GetSyntax())
|
||||
.OfType<VariableDeclaratorSyntax>()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue