public TypeManager(ModuleBuilder modBuilder, TypesInAssemblyManager refAsmTypes, SymbolTable symTable) { m_modBuilder = modBuilder; m_refAsmTypes = refAsmTypes; InitalizePredefinedSymbolMappings(symTable); }
private void InitalizePredefinedSymbolMappings(SymbolTable symTable) { Symbol abstrBase = symTable.ResolveScopedNameToSymbol(symTable.getTopScope(), new ArrayList(new string[] { "omg.org", "CORBA", "AbstractBase" })); m_completeTypeTable[abstrBase] = new TypeContainer(ReflectionHelper.ObjectType, new AttributeExtCollection(new Attribute[] { new ObjectIdlTypeAttribute(IdlTypeObject.AbstractBase) })); }
/// <summary> /// initalize the generator for next source, with using the same target assembly / target modules /// </summary> public void InitalizeForSource(SymbolTable symbolTable) { m_symbolTable = symbolTable; m_symbolTable.CheckAllFwdDeclsComplete(); // assure symbol table is valid: all fwd decls are defined by a full definition // helps to find already declared types m_typeManager = new TypeManager(m_modBuilder, m_typesInRefAsms, symbolTable); // ready for code generation m_initalized = true; }