public void WriteLookup(Block32 block, bool lookup) { if (!lookup) importRef.Value = block.Current; block.AddVal32(hintAddress); }
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; }
public void Write(Block32 block) { if (address != null) { block.AddByte((byte)(0x05 + (middleBits << 3))); block.AddVal32(address); } else { block.AddBytes(GetCodes()); } }