public override void Initialize(AnalysisContext context) { base.Initialize(context); context.RegisterCompilationStartAction(startContext => { INamedTypeSymbol doubleSymbol = startContext.Compilation.GetTypeByMetadataName("System.Double"); INamedTypeSymbol floatSymbol = startContext.Compilation.GetTypeByMetadataName("System.Single"); var registeredSymbols = new INamedTypeSymbol[] { doubleSymbol, floatSymbol }; if (registeredSymbols.Any()) { startContext.RegisterSyntaxNodeAction( nodeContext => AnalyzeInvocationExpressionSyntax(nodeContext, registeredSymbols), SyntaxKind.InvocationExpression); } }); }