public void WriteImportLookupTable(Block32 block) { table.ImportLookupTable = block.Current; foreach (var sym in symbols.Values) (sym as Symbol).WriteLookup(block, true); block.AddInt(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; }