static MethodInfo2[] readMethodInfos(byte[] data)
        {
            var reader        = MemoryImageStream.Create(data);
            int numMethods    = (int)reader.Read7BitEncodedUInt32();
            int totalCodeSize = (int)reader.Read7BitEncodedUInt32();
            var methodInfos   = new MethodInfo2[numMethods];
            int offset        = 0;

            for (int i = 0; i < numMethods; i++)
            {
                int id   = (int)reader.Read7BitEncodedUInt32();
                int size = (int)reader.Read7BitEncodedUInt32();
                methodInfos[i] = new MethodInfo2(id, offset, size);
                offset        += size;
            }
            long dataOffset = reader.Position;

            foreach (var info in methodInfos)
            {
                reader.Position = dataOffset + info.offset;
                reader.Read(info.data, 0, info.data.Length);
            }
            return(methodInfos);
        }
Ejemplo n.º 2
0
        static MethodInfo2[] readMethodInfos(byte[] data)
        {
            var reader        = new BinaryReader(new MemoryStream(data));
            int numMethods    = Utils.readEncodedInt32(reader);
            int totalCodeSize = Utils.readEncodedInt32(reader);
            var methodInfos   = new MethodInfo2[numMethods];
            int offset        = 0;

            for (int i = 0; i < numMethods; i++)
            {
                int id   = Utils.readEncodedInt32(reader);
                int size = Utils.readEncodedInt32(reader);
                methodInfos[i] = new MethodInfo2(id, offset, size);
                offset        += size;
            }
            long dataOffset = reader.BaseStream.Position;

            foreach (var info in methodInfos)
            {
                reader.BaseStream.Position = dataOffset + info.offset;
                reader.BaseStream.Read(info.data, 0, info.data.Length);
            }
            return(methodInfos);
        }
 static MethodInfo2[] readMethodInfos(byte[] data)
 {
     var reader = MemoryImageStream.Create(data);
     int numMethods = (int)reader.Read7BitEncodedUInt32();
     int totalCodeSize = (int)reader.Read7BitEncodedUInt32();
     var methodInfos = new MethodInfo2[numMethods];
     int offset = 0;
     for (int i = 0; i < numMethods; i++) {
         int id = (int)reader.Read7BitEncodedUInt32();
         int size = (int)reader.Read7BitEncodedUInt32();
         methodInfos[i] = new MethodInfo2(id, offset, size);
         offset += size;
     }
     long dataOffset = reader.Position;
     foreach (var info in methodInfos) {
         reader.Position = dataOffset + info.offset;
         reader.Read(info.data, 0, info.data.Length);
     }
     return methodInfos;
 }
Ejemplo n.º 4
0
 static MethodInfo2[] readMethodInfos(byte[] data)
 {
     var reader = new BinaryReader(new MemoryStream(data));
     int numMethods = Utils.readEncodedInt32(reader);
     int totalCodeSize = Utils.readEncodedInt32(reader);
     var methodInfos = new MethodInfo2[numMethods];
     int offset = 0;
     for (int i = 0; i < numMethods; i++) {
         int id = Utils.readEncodedInt32(reader);
         int size = Utils.readEncodedInt32(reader);
         methodInfos[i] = new MethodInfo2(id, offset, size);
         offset += size;
     }
     long dataOffset = reader.BaseStream.Position;
     foreach (var info in methodInfos) {
         reader.BaseStream.Position = dataOffset + info.offset;
         reader.BaseStream.Read(info.data, 0, info.data.Length);
     }
     return methodInfos;
 }