public IStatement Translate() { if (_resultAst == null) { if (_collectionRole != null) { HqlFilterPreprocessor.AddImpliedFromToQuery(_inputAst, _collectionRole, _sfi); } var nodes = new BufferedTreeNodeStream(_inputAst); var hqlSqlWalker = new HqlSqlWalker(_qti, _sfi, nodes, _tokenReplacements, _collectionRole); hqlSqlWalker.TreeAdaptor = new HqlSqlWalkerTreeAdaptor(hqlSqlWalker); try { // Transform the tree. _resultAst = (IStatement)hqlSqlWalker.statement().Tree; } finally { hqlSqlWalker.ParseErrorHandler.ThrowQueryException(); } } return(_resultAst); }
public static List<IEditorNavigationTarget> ExtractNavigationTargets(IAstRuleReturnScope parseResult, ReadOnlyCollection<IToken> tokens, AlloyAtnEditorNavigationSourceProvider provider, ITextSnapshot snapshot) { BufferedTreeNodeStream input = new BufferedTreeNodeStream(parseResult.Tree); AlloyEditorNavigationSourceWalker walker = new AlloyEditorNavigationSourceWalker(input, snapshot, tokens, provider.EditorNavigationTypeRegistryService, provider.GlyphService, provider.OutputWindowService); walker.compilationUnit(); return walker._targets; }
public static List<ITagSpan<IOutliningRegionTag>> ExtractOutliningRegions(IAstRuleReturnScope parseResult, ReadOnlyCollection<IToken> tokens, AlloyOutliningTaggerProvider provider, ITextSnapshot snapshot) { BufferedTreeNodeStream input = new BufferedTreeNodeStream(parseResult.Tree); AlloyOutliningTaggerWalker walker = new AlloyOutliningTaggerWalker(input, tokens, provider, snapshot); walker.compilationUnit(); return walker._outliningRegions; }
public static List <ITagSpan <IOutliningRegionTag> > ExtractOutliningRegions(IAstRuleReturnScope parseResult, ReadOnlyCollection <IToken> tokens, AlloyOutliningTaggerProvider provider, ITextSnapshot snapshot) { BufferedTreeNodeStream input = new BufferedTreeNodeStream(parseResult.Tree); AlloyOutliningTaggerWalker walker = new AlloyOutliningTaggerWalker(input, tokens, provider, snapshot); walker.compilationUnit(); return(walker._outliningRegions); }
public static List <IEditorNavigationTarget> ExtractNavigationTargets(IAstRuleReturnScope parseResult, ReadOnlyCollection <IToken> tokens, AlloyAtnEditorNavigationSourceProvider provider, ITextSnapshot snapshot) { BufferedTreeNodeStream input = new BufferedTreeNodeStream(parseResult.Tree); AlloyEditorNavigationSourceWalker walker = new AlloyEditorNavigationSourceWalker(input, snapshot, tokens, provider.EditorNavigationTypeRegistryService, provider.GlyphService, provider.OutputWindowService); walker.compilationUnit(); return(walker._targets); }
public Expression ParseExpression(SnapshotSpan expressionSpan) { string text = expressionSpan.GetText(); string sourceName = null; AlloyLexer lexer = new AlloyLexer(new ANTLRStringStream(text, sourceName)); CommonTokenStream tokens = new CommonTokenStream(lexer); AlloyParser parser = new AlloyParser(tokens); IAstRuleReturnScope tree = parser.expr(); BufferedTreeNodeStream treeNodeStream = new BufferedTreeNodeStream(tree.Tree); AlloyExpressionWalker walker = new AlloyExpressionWalker(expressionSpan, treeNodeStream); Expression result = walker.expr(); return(result); }
public IStatement Translate() { if (_resultAst == null) { if (_collectionRole != null) { HqlFilterPreprocessor.AddImpliedFromToQuery(_inputAst, _collectionRole, _sfi); } var nodes = new BufferedTreeNodeStream(_inputAst); var hqlSqlWalker = new HqlSqlWalker(_qti, _sfi, nodes, _tokenReplacements, _collectionRole); hqlSqlWalker.TreeAdaptor = new HqlSqlWalkerTreeAdaptor(hqlSqlWalker); try { // Transform the tree. _resultAst = (IStatement) hqlSqlWalker.statement().Tree; } finally { hqlSqlWalker.ParseErrorHandler.ThrowQueryException(); } } return _resultAst; }