public static int EvaluteArraySize(DaedalusParser.ArraySizeContext context, AssemblyBuilder assemblyBuilder) { string arraySizeText = context.GetText(); // simple value if (int.TryParse(context.GetText(), out var arraySize) == false) { arraySize = (int)assemblyBuilder.GetSymbolByName(arraySizeText).Content.First(); } return(arraySize); }
public override ASTNode VisitArraySize([NotNull] DaedalusParser.ArraySizeContext context) { if (context.reference() != null) { return(VisitReference(context.reference())); } return(new IntegerLiteralNode(GetLocation(context), long.Parse(context.GetText()))); }