public override object VisitNumberLiteral([NotNull] PigeonParser.NumberLiteralContext context) { if (analyser.Types.Get(context) == PigeonType.Int) { return(int.Parse(context.NUMBER().GetText())); } return(float.Parse(context.NUMBER().GetText(), NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture)); }
public override void ExitNumberLiteral([NotNull] PigeonParser.NumberLiteralContext context) { Types.Put(context, context.GetText().Contains(".") ? PigeonType.Float : PigeonType.Int); }