Пример #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Just testing git hub");

            // TODO: changes this to relative path
            var myClassText = File.ReadAllText(@"d:\src\GitHub\Repos\Roslyn-tinkering\ConsoleApplication1\MyClass.cs");
            var tree = CSharpSyntaxTree.ParseText(myClassText);

            var syntaxRoot = tree.GetRoot();
            var myMethods = syntaxRoot.DescendantNodes()
                .OfType<MethodDeclarationSyntax>();

            // gets all methods from class
            foreach (var myMethod in myMethods)
            {
                Console.WriteLine(myMethod.Identifier.ToString());
            }

            var customWalker = new CustomWalker();
            customWalker.Visit(syntaxRoot);

            // another way to get all methods
            var classMethodWalker = new ClassMethodWalker();
            classMethodWalker.Visit(syntaxRoot);

            Console.WriteLine("New class without semicolons.");
            var rewriter = new EmptyStatementRemoval();
            var result = rewriter.Visit(tree.GetRoot());
            Console.WriteLine(result.ToFullString());

            Console.ReadKey();
        }
Пример #2
0
    public void _1SimplyInheritCSharpSyntaxWalker()
    {
        var tree = CSharpSyntaxTree.ParseText(@"
                public class MyClass
                {
                    public void MyMethod()
                    {
                    }
                    public void MyMethod(int n)
                    {
                    }
               ");

        var walker = new CustomWalker();

        walker.Visit(tree.GetRoot());
    }
    public long GetSlocFor(IEnumerable <FileInfo> files, SlocOptions options)
    {
        var tree = CSharpSyntaxTree.ParseText(
            @"using /* Blah */
        System;
    // Blah
    public class MyClass
    {
        public void MyMethod()
        {
            var blah = ""abc"";
        }
    }");
        var root   = tree.GetRoot();
        var walker = new CustomWalker();

        walker.Visit(root);
        var lineMap = walker.LineMap;

        return(1);
    }