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 sealed override void Write(FileImage output) { output.Write(flags); output.WriteCodedIndex(CIx.MemberForwarded,meth); output.StringsIndex(iNameIx); output.WriteIndex(MDTable.ModuleRef,importScope.Row); }
internal sealed override void Write(FileImage output) { output.Write(offset); output.WriteIndex(MDTable.Field,field.Row); }
internal void WriteResources (FileImage output) { if (resources == null) return; for (int i = 0; i < resources.Count; i ++) { byte [] resBytes = (byte []) resources [i]; output.Write ((uint) resBytes.Length); output.Write (resBytes); } }
internal sealed override void Write(FileImage output) { output.Write(action); output.WriteCodedIndex(CIx.HasDeclSecurity,parent); output.BlobIndex(permissionIx); }
internal sealed override void Write(FileImage output) { output.Write(major); output.Write(minor); output.Write(build); output.Write(revision); output.Write(flags); output.BlobIndex(keyIx); output.StringsIndex(nameIx); output.StringsIndex(cultIx); output.BlobIndex(hashIx); }
internal sealed override void Write(FileImage output) { if (ZeroRva ()) output.Write(0); else output.WriteCodeRVA(textOffset); output.Write(implFlags); output.Write(methFlags); output.StringsIndex(nameIx); output.BlobIndex(sigIx); output.WriteIndex(MDTable.Param,parIx); }
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) { //Console.WriteLine("Writing instruction " + instr + " with size " + size); if (twoByteInstr) output.Write(leadByte); output.Write((byte)instr); }
internal override void Write(FileImage output) { output.Write(byteVal); }
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) { output.Write(flags); output.StringsIndex(nameIx); output.WriteCodedIndex(CIx.TypeDefOrRef,eventType); }
internal sealed override void Write(FileImage output) { output.Write(fileOffset); output.Write(flags); output.StringsIndex(nameIx); output.WriteCodedIndex(CIx.Implementation,rRef); }
internal sealed override void Write(FileImage output) { output.Write(packSize); output.Write(classSize); output.WriteIndex(MDTable.TypeDef,parent.Row); }
internal sealed override void Write(FileImage output) { output.Write((ushort)type); output.WriteIndex(MDTable.Method,meth.Row); output.WriteCodedIndex(CIx.HasSemantics,eventOrProp); }
internal sealed override void Write(FileImage output) { output.Write(cValue.GetTypeIndex()); output.Write((byte)0); output.WriteCodedIndex(CIx.HasConst,parent); output.BlobIndex(valIx); }
internal sealed override void Write(FileImage output) { output.Write(parMode); output.Write(seqNo); output.StringsIndex(nameIx); }
internal void WriteTildeStream(FileImage output) { long startTilde = output.Seek(0,SeekOrigin.Current); output.Write((uint)0); // Reserved #if NET_2_0 || BOOTSTRAP_NET_2_0 output.Write((byte)2); // MajorVersion output.Write((byte)0); // MinorVersion #else output.Write((byte)1); // MajorVersion output.Write((byte)0); // MinorVersion #endif output.Write(heapSizes); output.Write((byte)1); // Reserved output.Write(valid); output.Write(sorted); for (int i=0; i < numMetaDataTables; i++) { if (metaDataTables[i] != null) { uint count = (uint)metaDataTables[i].Count; output.Write(count); } } long tabStart = output.Seek(0,SeekOrigin.Current); // Console.WriteLine("Starting metaData tables at " + tabStart); for (int i=0; i < numMetaDataTables; i++) { if (metaDataTables[i] != null) { // Console.WriteLine("Starting metaData table " + i + " at " + (output.Seek(0,SeekOrigin.Current) - startTilde)); ArrayList table = metaDataTables[i]; for (int j=0; j < table.Count; j++) { ((MetaDataElement)table[j]).Write(output); } } } // Console.WriteLine("Writing padding at " + output.Seek(0,SeekOrigin.Current)); for (int i=0; i < tildePadding; i++) output.Write((byte)0); }
internal sealed override void Write(FileImage output) { output.Write(flags); output.StringsIndex(nameIx); output.StringsIndex(nameSpaceIx); //if (superType != null) // Console.WriteLine("getting coded index for superType of " + name + " = " + superType.GetCodedIx(CIx.TypeDefOrRef)); output.WriteCodedIndex(CIx.TypeDefOrRef,superType); output.WriteIndex(MDTable.Field,fieldIx); output.WriteIndex(MDTable.Method,methodIx); }
internal void WriteByteCodes(FileImage output) { for (int i=0; i < byteCodes.Count; i++) { ((CILInstructions)byteCodes[i]).Write(output); } for (int i=0; i < byteCodePadding; i++) { output.Write((byte)0); } }
internal sealed override void Write(FileImage output) { output.Write(flags); output.Write(0); output.StringsIndex(nameIx); output.StringsIndex(nameSpaceIx); output.WriteCodedIndex(CIx.Implementation,parent); }
internal void WriteCodedIndex(CIx code, MetaDataElement elem, FileImage output) { uint ix = 0; if (elem != null) { ix = (elem.Row << CIxShiftMap[(uint)code]) | elem.GetCodedIx(code); // Console.WriteLine("coded index = " + ix + " row = " + elem.Row); //} else { // Console.WriteLine("elem for coded index is null"); } if (lgeCIx[(uint)code]) output.Write(ix); else output.Write((ushort)ix); }
internal sealed override void Write(FileImage output) { // Console.WriteLine("Writing assembly element with nameIx of " + nameIx + " at file offset " + output.Seek(0,SeekOrigin.Current)); output.Write((uint)hashAlgId); output.Write(majorVer); output.Write(minorVer); output.Write(buildNo); output.Write(revisionNo); output.Write(flags); output.BlobIndex(keyIx); output.StringsIndex(nameIx); output.StringsIndex(cultIx); }
internal sealed override void Write(FileImage output) { output.Write(flags); output.StringsIndex(nameIx); output.BlobIndex(hashIx); }
internal sealed override void Write(FileImage output) { output.Write((short)0); output.StringsIndex(nameIx); output.GUIDIndex(mvidIx); output.GUIDIndex(0); output.GUIDIndex(0); }
internal sealed override void Write(FileImage output) { output.Write ((short) index); output.Write ((short) attr); output.WriteCodedIndex(CIx.TypeOrMethodDef, owner); output.StringsIndex (nameIx); }
internal sealed override void Write(FileImage output) { base.Write(output); output.Write(theType.Token()); }