Пример #1
0
        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);
                }
            });
        }