Skip to content

Commit 2e3dba9

Browse files
committed
Check for public and return type on parse
1 parent a786e28 commit 2e3dba9

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

YamlDotNet.Analyzers.StaticGenerator/StaticTypeInspectorFile.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,14 @@ public override void Write(SerializableSyntaxReceiver syntaxReceiver)
176176
foreach (var o in syntaxReceiver.Classes)
177177
{
178178
var classObject = o.Value;
179-
if (classObject.ModuleSymbol.GetMembers("Parse").OfType<IMethodSymbol>().Any(m => m.IsStatic && m.Parameters.Length == 1 && m.Parameters[0].Type.SpecialType == SpecialType.System_String))
179+
if (classObject.ModuleSymbol
180+
.GetMembers("Parse")
181+
.OfType<IMethodSymbol>()
182+
.Any(m => m.DeclaredAccessibility == Accessibility.Public &&
183+
m.IsStatic &&
184+
m.Parameters.Length == 1 &&
185+
m.Parameters[0].Type.SpecialType == SpecialType.System_String &&
186+
SymbolEqualityComparer.Default.Equals(m.ReturnType, classObject.ModuleSymbol)))
180187
{
181188
Write($"if (expectedType == typeof({classObject.ModuleSymbol.GetFullName().Replace("?", string.Empty)}))");
182189
Write("{"); Indent();

0 commit comments

Comments
 (0)