private CliInterface(HighTypeDef typeDef, TypeSpecClassTag typeSpec, TypeSpecTag[] genericParameters, TypeSpecClassTag[] parentInterfaces, HighClassVtableSlot[] slots, Dictionary<MethodDeclTag, uint> slotTagToCliSlot, Dictionary<MethodDeclTag, uint> slotTagToRealSlot, uint numRealSlots, TypeSpecClassTag[] interfaceImpls) { m_typeDef = typeDef; m_typeSpec = typeSpec; m_genericParameters = genericParameters; m_slots = slots; m_slotTagToCliSlot = slotTagToCliSlot; m_slotTagToRealSlot = slotTagToRealSlot; m_numRealSlots = numRealSlots; m_interfaceImpls = interfaceImpls; m_isCreated = true; }
public void Initialize(HighTypeDef typeDef) { m_typeDef = typeDef; }
private void LoadTypeDef(CatalogReader catalog, BinaryReader reader) { HighTypeDef typeDef = new HighTypeDef(); typeDef.Read(m_tagRepository, catalog, reader); if (m_typeDefsDict.ContainsKey(typeDef.TypeName)) throw new RpaLoadException("Type defined multiple times"); if (catalog.AssemblyName != typeDef.TypeName.AssemblyName) throw new RpaLoadException("Type declared outside of its assembly"); Console.WriteLine(typeDef.TypeName.ToString()); m_typeDefsDict.Add(typeDef.TypeName, typeDef); m_typeDefsList.Add(typeDef); }