private AridCheckResult GetAridCheckResult(Func <ClassDeclarationSyntax, SyntaxNode> getSyntaxNode, string methodName) { var sampleProjectAbsolutePath = SyntaxExtension.GetSampleProjectAbsolutePath(); var sampleClassAbsolutePath = SampleClassRelativePath.GetSampleClassAbsoluteFilePath(); var semanticsClassDeclarationLoader = new SemanticsClassDeclarationLoader(); var classDeclarationWithSemantics = semanticsClassDeclarationLoader.Load(sampleClassAbsolutePath, sampleProjectAbsolutePath, nameof(AridNodesSampleClass)); var classDeclarationSyntax = classDeclarationWithSemantics.Syntax; var methodDeclaration = classDeclarationSyntax.DescendantNodes().OfType <MethodDeclarationSyntax>() .First(m => m.Identifier.Text == methodName); var syntaxNode = getSyntaxNode(classDeclarationSyntax); var analysisRoot = new RoslynSyntaxNodeWithSemantics(methodDeclaration, classDeclarationWithSemantics.SemanticModel); var classification = Classifier.Classify(analysisRoot); var node = new RoslynSyntaxNode(syntaxNode); return(classification.GetResult(node)); }
public bool IsNodeArid(SyntaxNode syntaxNode) { var analyzableNode = new RoslynSyntaxNode(syntaxNode); return(_nodesClassification.GetResult(analyzableNode).IsArid); }