internal void RealEmit(int ilOffset, CodeEmitter codeEmitter, ref int lineNumber)
{
if (pseudo == CodeType.OpCode)
{
if (lineNumber != -1)
{
if (codeEmitter.linenums == null)
{
codeEmitter.linenums = new IKVM.Attributes.LineNumberTableAttribute.LineNumberWriter(32);
}
codeEmitter.linenums.AddMapping(ilOffset, lineNumber);
lineNumber = -1;
}
codeEmitter.RealEmitOpCode(opcode, data);
}
else if (pseudo == CodeType.LineNumber)
{
lineNumber = (int)data;
}
else
{
codeEmitter.RealEmitPseudoOpCode(ilOffset, pseudo, data);
}
}