/// <inheritdoc/> public override void Register(IDurianAnalysisContext context, FriendClassCompilationData compilation) { context.RegisterSyntaxNodeAction( context => Analyze(context, compilation), SyntaxKind.SimpleMemberAccessExpression, SyntaxKind.PointerMemberAccessExpression ); }
/// <inheritdoc/> public void Register(IDurianAnalysisContext context, CSharpCompilation compilation) { DefaultParamCompilationData data = new(compilation); if (data.HasErrors) { return; } context.RegisterSyntaxNodeAction(context => Analyze(data, context, out _), SyntaxKind.TypeParameterList); }
/// <inheritdoc/> public void Register(IDurianAnalysisContext context, CSharpCompilation compilation, ConcurrentDictionary <FileLinePositionSpan, T> cached) { DefaultParamCompilationData data = new(compilation); if (data.HasErrors) { return; } context.RegisterSyntaxNodeAction(context => Analyze(data, context, cached), SyntaxKind.TypeParameterList); }
/// <inheritdoc/> public override void Register(IDurianAnalysisContext context) { context.RegisterCompilationStartAction(context => { INamedTypeSymbol?targetsAttribute = context.Compilation.GetTypeByMetadataName(MemberNames.InterfaceTargetsAttribute); if (targetsAttribute is null) { return; } context.RegisterSyntaxNodeAction(context => Analyze(context, targetsAttribute), SyntaxKind.SimpleBaseType); }); }
/// <inheritdoc/> public override void Register(IDurianAnalysisContext context, DefaultParamCompilationData compilation) { context.RegisterSyntaxNodeAction(c => Analyze(c, compilation), SyntaxKind.Attribute); }
/// <inheritdoc/> public override void Register(IDurianAnalysisContext context) { context.RegisterSyntaxNodeAction(Analyze, SyntaxKind.NamespaceDeclaration); }
/// <inheritdoc/> public override void Register(IDurianAnalysisContext context, CompilationWithImportedTypes compilation) { context.RegisterSyntaxNodeAction(c => Analyze(c, compilation), SyntaxKind.IdentifierName, SyntaxKind.GenericName); }
/// <inheritdoc/> public override void Register(IDurianAnalysisContext context, DefaultParamCompilationData compilation) { context.RegisterSyntaxNodeAction(c => FindAndAnalyzeLocalFunction(c, compilation), SyntaxKind.LocalFunctionStatement); }