internal override void Write(FileImage output) { //Console.WriteLine("Writing instruction " + instr + " with size " + size); if (twoByteInstr) { output.Write(leadByte); } output.Write((byte)instr); }
internal sealed override void Write(FileImage output) { base.Write(output); output.Write(numCases); for (int i = 0; i < numCases; i++) { int target = (int)cases[i].GetLabelOffset() - (int)(offset + size); output.Write(target); } }
internal sealed override void Write(FileImage output) { base.Write(output); if (byteNum) { output.Write((sbyte)val); } else { output.Write(val); } }
internal sealed override void Write(FileImage output) { base.Write(output); if (shortVer) { output.Write((sbyte)target); } else { output.Write(target); } }
internal override void Write(FileImage output, bool fatFormat) { // Console.WriteLine("writing exception details"); for (int i = 0; i < handlers.Count; i++) { // Console.WriteLine("Except block " + i); HandlerBlock handler = (HandlerBlock)handlers[i]; if (fatFormat) { output.Write(flags); } else { output.Write((short)flags); } // Console.WriteLine("flags = " + Hex.Short(flags)); base.Write(output, fatFormat); handler.Write(output, fatFormat); } }
internal virtual void Write(FileImage output, bool fatFormat) { if (fatFormat) { output.Write(start.GetLabelOffset()); } else { output.Write((short)start.GetLabelOffset()); } uint len = end.GetLabelOffset() - start.GetLabelOffset(); if (fatFormat) { output.Write(len); } else { output.Write((byte)len); } }
internal void Write(FileImage output) { // Console.WriteLine("Writing header flags = " + Hex.Short(headerFlags)); if (tinyFormat) { // Console.WriteLine("Writing tiny code"); output.Write((byte)headerFlags); } else { // Console.WriteLine("Writing fat code"); output.Write(headerFlags); output.Write((ushort)maxStack); output.Write(offset); output.Write(localSigIx); } // Console.WriteLine(Hex.Int(tide) + " CIL instructions"); // Console.WriteLine("starting instructions at " + output.Seek(0,SeekOrigin.Current)); for (int i = 0; i < tide; i++) { buffer[i].Write(output); } // Console.WriteLine("ending instructions at " + output.Seek(0,SeekOrigin.Current)); for (int i = 0; i < paddingNeeded; i++) { output.Write((byte)0); } if (exceptions != null) { // Console.WriteLine("Writing exceptions"); // Console.WriteLine("header = " + Hex.Short(exceptHeader) + " exceptSize = " + Hex.Int(exceptSize)); output.Write(exceptHeader); output.Write3Bytes((uint)exceptSize); for (int i = 0; i < exceptions.Count; i++) { TryBlock tryBlock = (TryBlock)exceptions[i]; tryBlock.Write(output, fatExceptionFormat); } } }
internal override void Write(FileImage output) { output.Write(byteVal); }
internal sealed override void Write(FileImage output) { base.Write(output); output.Write(theType.Token()); }
internal sealed override void Write(FileImage output) { base.Write(output); output.Write(signature.Token()); }
internal sealed override void Write(FileImage output) { base.Write(output); output.Write(USHeapIndex | strIndex); }
internal sealed override void Write(FileImage output) { base.Write(output); output.Write(val); }
internal override void Write(FileImage output, bool fatFormat) { base.Write(output, fatFormat); output.Write((int)0); }
internal override void Write(FileImage output, bool fatFormat) { base.Write(output, fatFormat); output.Write(filterLabel.GetLabelOffset()); }
internal override void Write(FileImage output, bool fatFormat) { base.Write(output, fatFormat); output.Write(exceptType.Token()); }