Merge pull request #99206 from a-johnston/fix_double_diagnostic

Remove duplicate read/write-only property warning from ScriptPropertiesGenerator
This commit is contained in:
Thaddeus Crews 2024-11-18 09:23:30 -06:00
commit 1889d2a264
No known key found for this signature in database
GPG Key ID: 62181B86FE9E5D84

View File

@ -423,25 +423,10 @@ namespace Godot.SourceGenerators
if (exportAttr != null && propertySymbol != null)
{
if (propertySymbol.GetMethod == null)
if (propertySymbol.GetMethod == null || propertySymbol.SetMethod == null || propertySymbol.SetMethod.IsInitOnly)
{
// This should never happen, as we filtered WriteOnly properties, but just in case.
context.ReportDiagnostic(Diagnostic.Create(
Common.ExportedPropertyIsWriteOnlyRule,
propertySymbol.Locations.FirstLocationWithSourceTreeOrDefault(),
propertySymbol.ToDisplayString()
));
return null;
}
if (propertySymbol.SetMethod == null || propertySymbol.SetMethod.IsInitOnly)
{
// This should never happen, as we filtered ReadOnly properties, but just in case.
context.ReportDiagnostic(Diagnostic.Create(
Common.ExportedMemberIsReadOnlyRule,
propertySymbol.Locations.FirstLocationWithSourceTreeOrDefault(),
propertySymbol.ToDisplayString()
));
// Exports can be neither read-only nor write-only but the diagnostic errors for properties are already
// reported by ScriptPropertyDefValGenerator.cs so just quit early here.
return null;
}
}