Exemple #1
0
            private Unit _Visit(ParserRuleContext context)
            {
                var nodeType = SpringCompositeNodeType.FromAntlr(context.RuleIndex);

                if (nodeType is null)
                {
                    return(base.VisitChildren(context));
                }

                var interval = context.SourceInterval;
                var marker   = _enter(interval.a);

                base.VisitChildren(context);
                _leave(interval.b + 1, marker, nodeType, context);
                return(Unit.Instance);
            }
        private static bool ParseIdentCommon(PsiBuilder builder, SpringCompositeNodeType type)
        {
            var lexerAdvanced = false;
            var start         = builder.Mark();
            var defineName    = builder.GetTokenType();

            if (defineName == SpringTokenType.IDENT)
            {
                lexerAdvanced = true;
                builder.AdvanceLexer();
                builder.Done(start, type, null);
            }
            else
            {
                builder.Error(start, "Expected identifier!");
            }

            return(lexerAdvanced);
        }