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); }