Exemplo n.º 1
0
 private static IEnumerable <AstNode> ParseAsMethodBody(CSharpParser parser, ref string sourceCode)
 {
     sourceCode = ExtraCode.Add(
         before: "unsafe partial class MyClass { void M() { ",
         code: sourceCode,
         after: "}}");
     return(parser.Parse(new StringReader(sourceCode), "").Children);
 }
Exemplo n.º 2
0
        private string GetHighlighted()
        {
            var parser = new CSharpParser();

            var nodes = parser.ParseSnippet(ref SourceCode);

            Document = new ReadOnlyDocument(SourceCode);

            foreach (var element in nodes)
            {
                Walk(element);
            }

            var merged  = Merge();
            var cleaned = ExtraCode.Remove(merged);

            return(cleaned);
        }
Exemplo n.º 3
0
        private static bool TryParseAsClassBody(CSharpParser parser, out IEnumerable <AstNode> nodes, ref string sourceCode)
        {
            var code = ExtraCode.Add(
                before: "unsafe partial class MyClass { ",
                code: sourceCode,
                after: "}");

            var result = parser.Parse(new StringReader(code), "");

            if (!parser.HasErrors)
            {
                sourceCode = code;
                nodes      = result.Children;
                return(true);
            }

            nodes = null;
            return(false);
        }