internal class BranchInstr : Instr {
CILLabel dest;
private bool shortVer = true;
- private static readonly byte longInstrOffset = 13;
private int target = 0;
internal BranchInstr(int inst, CILLabel dst) : base(inst)
private static readonly ushort MoreSects = 0x8;
private static readonly ushort InitLocals = 0x10;
private static readonly uint FatSize = 12;
- private static readonly uint FatWords = FatSize/4;
private static readonly byte FatExceptTable = 0x41;
private static readonly byte SmlExceptTable = 0x01;
int tide = 0;
CILInstruction labInstr;
uint offset = 0;
+ bool absolute;
- public CILLabel (uint offset)
+
+ public CILLabel (uint offset, bool absolute)
{
this.offset = offset;
+ this.absolute = absolute;
+ }
+
+ public CILLabel (uint offset) : this (offset, false)
+ {
}
internal uint GetLabelOffset()
{
+ if (absolute) return offset;
if (labInstr == null) return 0;
return labInstr.offset + offset;
}