public override void ExitLabelStmt([NotNull] AsmParser.LabelStmtContext context) { Util.WriteLine("* ExitLabelStmt: {0}", context.LABEL()); string label = context.LABEL().GetText(); int labelAddr = ip; labeltable[label] = labelAddr; if (deferedLabelTable.ContainsKey(label)) { foreach (int targetAddr in deferedLabelTable[label]) { UpdateInt32Code(targetAddr, labelAddr); } deferedLabelTable.Remove(label); } }
/// <summary> /// Exit a parse tree produced by the <c>labelStmt</c> /// labeled alternative in <see cref="AsmParser.stmt"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitLabelStmt([NotNull] AsmParser.LabelStmtContext context) { }