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;
 }