示例#1
0
 public override Expression VisitConstantExpression([NotNull] ConstantExpressionContext context)
 {
     if (IsPredefined(context.index()))
     {
         var predefinedConstantIndex = GetIndexNumber(context.index());
         return(PredefinedObjects.GetConstantExpression(predefinedConstantIndex));
     }
     else
     {
         var index = GetIndexNumber(context.index());
         return(Constants[index]);
     }
 }
示例#2
0
 public override Tree VisitConstantExpression(ConstantExpressionContext context) =>
 throw new InvalidOperationException();
示例#3
0
        private Expression getCaseExpression(SwitchLabelContext label)
        {
            ConstantExpressionContext constExp = label.constantExpression();

            return(constExp == null ? null : (Expression)VisitLiteral(constExp.literal()));
        }
示例#4
0
	public ConstantExpressionContext constantExpression() {
		ConstantExpressionContext _localctx = new ConstantExpressionContext(Context, State);
		EnterRule(_localctx, 50, RULE_constantExpression);
		try {
			EnterOuterAlt(_localctx, 1);
			{
			State = 324; conditionalExpression();
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			ErrorHandler.ReportError(this, re);
			ErrorHandler.Recover(this, re);
		}
		finally {
			ExitRule();
		}
		return _localctx;
	}