int be_visitor_xplicit_pre_proc::visit_structure (be_structure *node) { if (this->ref_type_) { this->check_and_store (node); return 0; } UTL_ScopedName sn (node->local_name (), 0); be_structure *added_struct = 0; ACE_NEW_RETURN (added_struct, be_structure (&sn, false, false), -1); idl_global->scopes ().top ()->add_to_scope (added_struct); idl_global->scopes ().push (added_struct); if (this->visit_scope (node) != 0) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("be_visitor_xplicit_pre_proc::") ACE_TEXT ("visit_structure - code generation ") ACE_TEXT ("for scope failed\n")), -1); } return 0; }
int be_visitor_xplicit_pre_proc::visit_structure_fwd ( be_structure_fwd *node) { UTL_ScopedName sn (node->local_name (), 0); be_structure *dummy = 0; ACE_NEW_RETURN (dummy, be_structure (&sn, false, false), -1); be_structure_fwd *added_struct_fwd = 0; ACE_NEW_RETURN (added_struct_fwd, be_structure_fwd (dummy, &sn), -1); dummy->fwd_decl (added_struct_fwd); idl_global->scopes ().top ()->add_to_scope (added_struct_fwd); return 0; }
AST_Structure * be_generator::create_structure (UTL_ScopedName *n, bool is_local, bool is_abstract) { be_structure *retval = 0; ACE_NEW_RETURN (retval, be_structure (n, is_local, is_abstract), 0); return retval; }