/**
  * @see parser.IDLParserVisitor#visit(ASTspecification, Object)
  * @param data unused
  */
 public Object visit(ASTspecification node, Object data) {
     if (!m_initalized) { 
         throw new InternalCompilerException("initalize not called"); 
     }
     Scope topScope = m_symbolTable.getTopScope();
     BuildInfo info = new BuildInfo(topScope, null, null);
     node.childrenAccept(this, info);
     m_initalized = false; // this file is finished
     m_typeManager.AssertAllTypesDefined(); // check if all types are completely defined. if not ok, assembly can't be saved to file.
     return null;
 }