Example #1
0
        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;
        }
Example #2
0
 public void Initialize(HighTypeDef typeDef)
 {
     m_typeDef = typeDef;
 }
Example #3
0
        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);
        }