public override object VisitPrimaryExpression(PrimaryExpressionContext context) { switch (context.ChildCount) { case 1: { var c = context.GetChild(0); switch (c) { case DataStatementContext it: { return(Visit(context.dataStatement())); } break; case IdContext it: { return(Visit(context.id())); } break; } if (context.t.Type == Discard) { return(new Result("var", "_")); } } break; case 2: { var id = ((Result)Visit(context.id())); var template = "<" + ((string)Visit(context.templateCall())) + ">"; var ret = (new Result(id.text + template, id.text + template)); ret.rootID = id.text; return(ret); } break; } var r = ((Result)Visit(context.expression())); return(new Result(r.data, (new System.Text.StringBuilder().Append("(").Append(r.text).Append(")")).To_Str())); }
public override void EnterPrimaryExpression([NotNull] PrimaryExpressionContext context) { if (context.Parent != null && context.Parent.Parent != null) { int end = context.Start.StopIndex; int start = context.Start.StartIndex - context.Start.Column; string text = context.Start.InputStream.GetText(new Interval(start, end)); if (text.Contains("constant")) { isconst = true; } } }
public override object VisitPrimaryExpression([NotNull] PrimaryExpressionContext context) { if (context.ChildCount == 1) { var c = context.GetChild(0); if (c is DataStatementContext) { return(Visit(context.dataStatement())); } else if (c is IdContext) { return(Visit(context.id())); } else if (context.t.Type == Self) { return(new Result { text = "this", data = "var" }); } else if (context.t.Type == Discard) { return(new Result { text = "_", data = "var" }); } } else if (context.ChildCount == 2) { var id = Visit(context.id()).@as <Result>(); var template = Visit(context.templateCall()).@as <string>(); return(new Result { text = id.text + template, data = id.text + template }); } var r = (Result)Visit(context.expression()); return(new Result { text = "(" + r.text + ")", data = r.data }); }
public override object VisitPrimaryExpression(PrimaryExpressionContext context) { if (context.ChildCount == 1) { var c = context.GetChild(0); if (c.@is <DataStatementContext>()) { return(Visit(context.dataStatement())); } else if (c.@is <IdContext>()) { return(Visit(context.id())); } else if (context.t.Type == Discard) { return(new Result() { text = "_", data = "var" }); } } else if (context.ChildCount == 4) { var id = (Result)(Visit(context.id())); var template = (string)("<" + Visit(context.templateCall())) + ">"; return(new Result() { text = id.text + template, data = id.text + template, rootID = id.text }); } var r = (Result)(Visit(context.expression())); return(new Result() { text = (new System.Text.StringBuilder().Append("(").Append(r.text).Append(")")).to_str(), data = r.data }); }
public PrimaryExpressionContext primaryExpression() { PrimaryExpressionContext _localctx = new PrimaryExpressionContext(Context, State); EnterRule(_localctx, 12, RULE_primaryExpression); try { int _alt; State = 112; switch (TokenStream.La(1)) { case Identifier: _localctx = new IdentifierContext(_localctx); EnterOuterAlt(_localctx, 1); { State = 101; Match(Identifier); } break; case Constant: _localctx = new ConstantContext(_localctx); EnterOuterAlt(_localctx, 2); { State = 102; Match(Constant); } break; case StringLiteral: _localctx = new StringLiteralContext(_localctx); EnterOuterAlt(_localctx, 3); { State = 104; ErrorHandler.Sync(this); _alt = 1; do { switch (_alt) { case 1: { { State = 103; Match(StringLiteral); } } break; default: throw new NoViableAltException(this); } State = 106; ErrorHandler.Sync(this); _alt = Interpreter.AdaptivePredict(TokenStream,6,Context); } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.InvalidAltNumber ); } break; case LeftParen: _localctx = new ParenthesizedContext(_localctx); EnterOuterAlt(_localctx, 4); { State = 108; Match(LeftParen); State = 109; expression(); State = 110; Match(RightParen); } break; default: throw new NoViableAltException(this); } } catch (RecognitionException re) { _localctx.exception = re; ErrorHandler.ReportError(this, re); ErrorHandler.Recover(this, re); } finally { ExitRule(); } return _localctx; }
public ConstantContext(PrimaryExpressionContext context) { CopyFrom(context); }
public IdentifierContext(PrimaryExpressionContext context) { CopyFrom(context); }
public ParenthesizedContext(PrimaryExpressionContext context) { CopyFrom(context); }
public StringLiteralContext(PrimaryExpressionContext context) { CopyFrom(context); }
public virtual void CopyFrom(PrimaryExpressionContext context) { base.CopyFrom(context); }