Exemplo n.º 1
0
 internal override void Write(FileImage output)
 {
     //Console.WriteLine("Writing instruction " + instr + " with size " + size);
     if (twoByteInstr)
     {
         output.Write(leadByte);
     }
     output.Write((byte)instr);
 }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
 internal sealed override void Write(FileImage output)
 {
     base.Write(output);
     if (byteNum)
     {
         output.Write((sbyte)val);
     }
     else
     {
         output.Write(val);
     }
 }
Exemplo n.º 4
0
 internal sealed override void Write(FileImage output)
 {
     base.Write(output);
     if (shortVer)
     {
         output.Write((sbyte)target);
     }
     else
     {
         output.Write(target);
     }
 }
Exemplo n.º 5
0
 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);
     }
 }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
 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);
         }
     }
 }
Exemplo n.º 8
0
 internal override void Write(FileImage output)
 {
     output.Write(byteVal);
 }
Exemplo n.º 9
0
 internal sealed override void Write(FileImage output)
 {
     base.Write(output);
     output.Write(theType.Token());
 }
Exemplo n.º 10
0
 internal sealed override void Write(FileImage output)
 {
     base.Write(output);
     output.Write(signature.Token());
 }
Exemplo n.º 11
0
 internal sealed override void Write(FileImage output)
 {
     base.Write(output);
     output.Write(USHeapIndex | strIndex);
 }
Exemplo n.º 12
0
 internal sealed override void Write(FileImage output)
 {
     base.Write(output);
     output.Write(val);
 }
Exemplo n.º 13
0
 internal override void Write(FileImage output, bool fatFormat)
 {
     base.Write(output, fatFormat);
     output.Write((int)0);
 }
Exemplo n.º 14
0
 internal override void Write(FileImage output, bool fatFormat)
 {
     base.Write(output, fatFormat);
     output.Write(filterLabel.GetLabelOffset());
 }
Exemplo n.º 15
0
 internal override void Write(FileImage output, bool fatFormat)
 {
     base.Write(output, fatFormat);
     output.Write(exceptType.Token());
 }