in ILRepack/LineNumberWriter.cs [110:138]
private void WritePackedInteger(int val)
{
if (val >= -64 && val < 64)
{
val += 64;
stream.WriteByte((byte)val);
}
else if (val >= -8192 && val < 8192)
{
val += 8192;
stream.WriteByte((byte)(0x80 + (val >> 8)));
stream.WriteByte((byte)val);
}
else if (val >= -1048576 && val < 1048576)
{
val += 1048576;
stream.WriteByte((byte)(0xC0 + (val >> 16)));
stream.WriteByte((byte)(val >> 8));
stream.WriteByte((byte)val);
}
else
{
stream.WriteByte(0xFF);
stream.WriteByte((byte)(val >> 24));
stream.WriteByte((byte)(val >> 16));
stream.WriteByte((byte)(val >> 8));
stream.WriteByte((byte)(val >> 0));
}
}