Esempio n. 1
0
File: Symbol.cs Progetto: 7shi/LLPML
 public void WriteLookup(Block32 block, bool lookup)
 {
     if (!lookup) importRef.Value = block.Current;
     block.AddVal32(hintAddress);
 }
Esempio n. 2
0
        public Val32 GetTypeObjectV(string name, Function dtor, int size, Val32 baseType)
        {
            if (types.ContainsKey(name))
                return types.Get(name) as Val32;

            var block = new Block32();
            var namev = Val32.NewB(0, true);
            block.AddVal32(namev);
            if (dtor == null || name == "string" || name == "Type")
                block.AddInt(0);
            else
                block.AddVal32(GetAddress(dtor));
            block.AddInt(size);
            block.AddVal32(baseType);
            var type = Val32.NewB(0, true);
            var tsz = (int)block.Length;
            var ret = AddData("type_object", name, type, tsz, -1, block);
            types.Add(name, ret);
            namev.Reference = GetString(name);
            type.Reference = GetTypeObjectD(Root.GetStruct("Type"));
            return ret;
        }
Esempio n. 3
0
File: Addr32.cs Progetto: 7shi/LLPML
 public void Write(Block32 block)
 {
     if (address != null)
     {
         block.AddByte((byte)(0x05 + (middleBits << 3)));
         block.AddVal32(address);
     }
     else
     {
         block.AddBytes(GetCodes());
     }
 }