示例#1
0
        private static ICollection <Relation> GetRelations(string programText,
                                                           Func <SemanticModel, ClassDeclarationSyntax, RelationsRetrieverWalker> getWalker)
        {
            var syntaxAnalysis = new SyntaxAnalysisTestComponent(programText);

            var root = syntaxAnalysis.Tree.GetCompilationUnitRoot();

            var classDeclarationNode = root.DescendantNodes()
                                       .OfType <ClassDeclarationSyntax>().First();

            var walker = getWalker(syntaxAnalysis.Model,
                                   classDeclarationNode);

            return(walker.GetRelations(root));
        }
示例#2
0
        public static void AssertGetStructureOfType <TStructureType>(string programText,
                                                                     StructureType structureType, string target, string component) where TStructureType : MemberDeclarationSyntax
        {
            var syntaxAnalysis = new SyntaxAnalysisTestComponent(programText);

            var root = syntaxAnalysis.Tree.GetCompilationUnitRoot();

            var structureDeclarationNode = root.DescendantNodes()
                                           .OfType <TStructureType>().First();

            var walker = new StructureWalker(syntaxAnalysis.Model);

            var result = walker.GetStructure(
                structureDeclarationNode, target);

            Assert.NotNull(result);
            Assert.Equal(structureType, result.Type);
            Assert.Equal(component, result.Name);
        }