@Override public void exitLiteral(LiteralContext ctx) { Token tok = ctx.getStart(); switch (tok.getType()) { case JiffleParser.INT_LITERAL: set(ctx, new IntLiteral(tok.getText())); break; case JiffleParser.FLOAT_LITERAL: set(ctx, new DoubleLiteral(tok.getText())); break; case JiffleParser.TRUE: set(ctx, ConstantLiteral.trueValue()); break; case JiffleParser.FALSE: set(ctx, ConstantLiteral.falseValue()); break; case JiffleParser.NULL: set(ctx, ConstantLiteral.nanValue()); break; default: throw new JiffleParserException("Unrecognized literal type: " + tok.getText()); } }
@Override public void exitLiteral(LiteralContext ctx) { Token tok = ctx.getStart(); switch (tok.getType()) { case JiffleParser.INT_LITERAL: set(ctx, new IntLiteral(tok.getText())); break; case JiffleParser.FLOAT_LITERAL: set(ctx, new DoubleLiteral(tok.getText())); break; case JiffleParser.TRUE: set(ctx, ConstantLiteral.trueValue()); break; case JiffleParser.FALSE: set(ctx, ConstantLiteral.falseValue()); break; case JiffleParser.NULL: set(ctx, ConstantLiteral.nanValue()); break; default: throw new JiffleParserException("Unrecognized literal type: " + tok.getText()); } }