/**
  * @see parser.IDLParserVisitor#visit(ASTforward_dcl, Object)
  * @param data the buildinfo of the scope, this type should be declared in
  */
 public Object visit(ASTforward_dcl node, Object data) {
     CheckParameterForBuildInfo(data, node);
     Scope enclosingScope = ((BuildInfo) data).GetBuildScope();
     // create only the type-builder, but don't call createType()
     Symbol forSymbol = enclosingScope.getSymbol(node.getIdent());
     // check if type is known from a previous run over a parse tree --> if so: skip
     if (m_typeManager.CheckSkip(forSymbol)) { 
         return null; 
     }        
     if (!(m_typeManager.IsTypeDeclarded(forSymbol))) { // ignore fwd-decl if type is already declared, if not generate type for fwd decl
         // it's no problem to add later on interfaces this type should implement with AddInterfaceImplementation,
         // here: specify no interface inheritance, because not known at this point
         CreateOrGetInterfaceDcl(forSymbol, Type.EmptyTypes, 
                                 node.isAbstract(), node.isLocal(), true);
     }
     return null;
 }