public static object VisitLiteral(NyaParser.IntegerLiteralContext context) { string text = context.GetText(); var regex = Regex.Match(text, @"(\d+)(\w+)?"); string value = regex.Groups[1].Value; string suffix = regex.Groups[2].Value.ToLower(); switch (suffix) { case "b": return(byte.Parse(value)); case "s": return(short.Parse(value)); case "l": return(long.Parse(value)); case "u": return(uint.Parse(value)); case "lu": case "ul": return(ulong.Parse(value)); case "su": case "us": return(ushort.Parse(value)); case "sb": case "bs": return(sbyte.Parse(value)); default: return(int.Parse(value)); } }
public override object VisitIntegerLiteral([NotNull] NyaParser.IntegerLiteralContext context) { return(LiteralHelper.VisitLiteral(context)); }