Example #1
0
        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;
        }
Example #4
0
        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;
		}