Clean up registration in `BizHawk.Analyzer`

will rebuild in later commit
This commit is contained in:
YoshiRulz 2025-02-22 14:33:53 +10:00
parent 57921a9206
commit 03bf156a91
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
5 changed files with 290 additions and 297 deletions

View File

@ -19,9 +19,8 @@ public sealed class AmbiguousMoneyToFloatConversionAnalyzer : DiagnosticAnalyzer
{ {
context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);
context.EnableConcurrentExecution(); context.EnableConcurrentExecution();
context.RegisterCompilationStartAction(initContext => context.RegisterOperationAction(
{ oac =>
initContext.RegisterOperationAction(oac =>
{ {
var conversionOp = (IConversionOperation) oac.Operation; var conversionOp = (IConversionOperation) oac.Operation;
var typeOutput = conversionOp.Type?.SpecialType ?? SpecialType.None; var typeOutput = conversionOp.Type?.SpecialType ?? SpecialType.None;
@ -67,6 +66,5 @@ public sealed class AmbiguousMoneyToFloatConversionAnalyzer : DiagnosticAnalyzer
])); ]));
}, },
OperationKind.Conversion); OperationKind.Conversion);
});
} }
} }

View File

@ -20,12 +20,10 @@ public sealed class ExprBodiedMemberFlowAnalyzer : DiagnosticAnalyzer
{ {
context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);
context.EnableConcurrentExecution(); context.EnableConcurrentExecution();
context.RegisterCompilationStartAction(initContext =>
{
var ARROW_ONE_LINE = (' ', ' '); var ARROW_ONE_LINE = (' ', ' ');
// var ARROW_POST_SIG = (' ', '\n'); // var ARROW_POST_SIG = (' ', '\n');
var ARROW_PRE_BODY = ('\n', ' '); var ARROW_PRE_BODY = ('\n', ' ');
initContext.RegisterSyntaxNodeAction( context.RegisterSyntaxNodeAction(
snac => snac =>
{ {
var aecs = (ArrowExpressionClauseSyntax) snac.Node; var aecs = (ArrowExpressionClauseSyntax) snac.Node;
@ -116,6 +114,5 @@ public sealed class ExprBodiedMemberFlowAnalyzer : DiagnosticAnalyzer
if ((hasLineBreakAfterArrow ? '\n' : ' ') != expectedWhitespace.After) Fail(); if ((hasLineBreakAfterArrow ? '\n' : ' ') != expectedWhitespace.After) Fail();
}, },
SyntaxKind.ArrowExpressionClause); SyntaxKind.ArrowExpressionClause);
});
} }
} }

View File

@ -113,16 +113,13 @@ public class HawkSourceAnalyzer : DiagnosticAnalyzer
=> aes.OperatorToken.RawKind is (int) SyntaxKind.EqualsToken && aes.Left is IdentifierNameSyntax { Identifier.Text: "_" }; => aes.OperatorToken.RawKind is (int) SyntaxKind.EqualsToken && aes.Left is IdentifierNameSyntax { Identifier.Text: "_" };
context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);
context.EnableConcurrentExecution(); context.EnableConcurrentExecution();
INamedTypeSymbol? invalidOperationExceptionSym = null; context.RegisterCompilationStartAction(initContext =>
INamedTypeSymbol? switchExpressionExceptionSym = null; {
context.RegisterSyntaxNodeAction( var invalidOperationExceptionSym = initContext.Compilation.GetTypeByMetadataName("System.InvalidOperationException")!;
var switchExpressionExceptionSym = initContext.Compilation.GetTypeByMetadataName("System.Runtime.CompilerServices.SwitchExpressionException");
initContext.RegisterSyntaxNodeAction(
snac => snac =>
{ {
if (invalidOperationExceptionSym is null)
{
invalidOperationExceptionSym = snac.Compilation.GetTypeByMetadataName("System.InvalidOperationException")!;
switchExpressionExceptionSym = snac.Compilation.GetTypeByMetadataName("System.Runtime.CompilerServices.SwitchExpressionException");
}
switch (snac.Node) switch (snac.Node)
{ {
case AnonymousMethodExpressionSyntax: case AnonymousMethodExpressionSyntax:
@ -182,5 +179,6 @@ public class HawkSourceAnalyzer : DiagnosticAnalyzer
SyntaxKind.RecordDeclaration, SyntaxKind.RecordDeclaration,
SyntaxKind.SimpleAssignmentExpression, SyntaxKind.SimpleAssignmentExpression,
SyntaxKind.SwitchExpressionArm); SyntaxKind.SwitchExpressionArm);
});
} }
} }

View File

@ -19,9 +19,8 @@ public sealed class TernaryInferredTypeMismatchAnalyzer : DiagnosticAnalyzer
{ {
context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);
context.EnableConcurrentExecution(); context.EnableConcurrentExecution();
context.RegisterCompilationStartAction(initContext => context.RegisterOperationAction(
{ oac =>
initContext.RegisterOperationAction(oac =>
{ {
var ifelseOrTernaryOp = (IConditionalOperation) oac.Operation; var ifelseOrTernaryOp = (IConditionalOperation) oac.Operation;
if (ifelseOrTernaryOp.WhenFalse is null) return; if (ifelseOrTernaryOp.WhenFalse is null) return;
@ -77,6 +76,5 @@ public sealed class TernaryInferredTypeMismatchAnalyzer : DiagnosticAnalyzer
messageArgs: message)); messageArgs: message));
}, },
OperationKind.Conditional); OperationKind.Conditional);
});
} }
} }

View File

@ -27,14 +27,15 @@ public sealed class UseNameofOperatorAnalyzer : DiagnosticAnalyzer
{ {
context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);
context.EnableConcurrentExecution(); context.EnableConcurrentExecution();
ISymbol? memberInfoDotNameSym = null; context.RegisterCompilationStartAction(initContext =>
ISymbol? typeDotToStringSym = null; {
context.RegisterSyntaxNodeAction( var memberInfoDotNameSym = initContext.Compilation.GetTypeByMetadataName("System.Reflection.MemberInfo")!
.GetMembers("Name")[0];
var typeDotToStringSym = initContext.Compilation.GetTypeByMetadataName("System.Type")!
.GetMembers(WellKnownMemberNames.ObjectToString)[0];
initContext.RegisterSyntaxNodeAction(
snac => snac =>
{ {
memberInfoDotNameSym ??= snac.Compilation.GetTypeByMetadataName("System.Reflection.MemberInfo")!.GetMembers("Name")[0];
typeDotToStringSym ??= snac.Compilation.GetTypeByMetadataName("System.Type")!
.GetMembers(WellKnownMemberNames.ObjectToString)[0];
var toes = (TypeOfExpressionSyntax) snac.Node; var toes = (TypeOfExpressionSyntax) snac.Node;
switch (toes.Parent) switch (toes.Parent)
{ {
@ -61,5 +62,6 @@ public sealed class UseNameofOperatorAnalyzer : DiagnosticAnalyzer
} }
}, },
SyntaxKind.TypeOfExpression); SyntaxKind.TypeOfExpression);
});
} }
} }