public void Get(int startIndex, int endIndex, out Node node, out Node statement, out ScopeStatement scope) { ExpressionWalker walker; if (Options.Keywords) { walker = new KeywordWalker(Ast, startIndex, endIndex); Ast.Walk(walker); if (walker.Expression != null) { node = walker.Expression; statement = walker.Statement; scope = walker.Scope; return; } } if (Options.MemberTarget) { walker = new MemberTargetExpressionWalker(Ast, startIndex); } else { walker = new NormalExpressionWalker(Ast, startIndex, endIndex, Options); } Ast.Walk(walker); node = walker.Expression; statement = walker.Statement; scope = walker.Scope; }
public Node GetExpression(int startIndex, int endIndex) { ExpressionWalker walker; if (Options.Keywords) { walker = new KeywordWalker(Ast, startIndex, endIndex); Ast.Walk(walker); if (walker.Expression != null) { return(walker.Expression); } } if (Options.MemberTarget) { walker = new MemberTargetExpressionWalker(Ast, startIndex); } else { walker = new NormalExpressionWalker(Ast, startIndex, endIndex, Options); } Ast.Walk(walker); return(walker.Expression); }