diff options
Diffstat (limited to 'modules/TAO/TAO_IDL/be/be_visitor_home/home_ex_idl.cpp')
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_visitor_home/home_ex_idl.cpp | 75 |
1 files changed, 26 insertions, 49 deletions
diff --git a/modules/TAO/TAO_IDL/be/be_visitor_home/home_ex_idl.cpp b/modules/TAO/TAO_IDL/be/be_visitor_home/home_ex_idl.cpp index 35233729108..11a78557e3a 100644 --- a/modules/TAO/TAO_IDL/be/be_visitor_home/home_ex_idl.cpp +++ b/modules/TAO/TAO_IDL/be/be_visitor_home/home_ex_idl.cpp @@ -158,6 +158,32 @@ be_visitor_home_ex_idl::visit_argument (be_argument *node) } int +be_visitor_home_ex_idl::visit_factory (be_factory *node) +{ + os_ << be_nl + << "::Components::EnterpriseComponent " + << IdentifierHelper::try_escape (node->original_local_name ()).c_str () + << " (" << be_idt << be_idt; + + if (this->visit_scope (node) == -1) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("be_visitor_home_ex_idl::") + ACE_TEXT ("visit_factory - ") + ACE_TEXT ("codegen for scope failed\n"))); + } + + os_ << ")" + << be_uidt << be_uidt; + + this->gen_exception_list (node->exceptions (), "", true); + + os_ << ";"; + + return 0; +} + +int be_visitor_home_ex_idl::visit_sequence (be_sequence *node) { // Keep output statements separate because of side effects. @@ -314,9 +340,6 @@ be_visitor_home_ex_idl::gen_explicit (void) ACE_TEXT ("visit_scope() failed\n"))); } - this->gen_factories (); - this->gen_finders (); - os_ << be_uidt_nl << "};"; } @@ -403,52 +426,6 @@ be_visitor_home_ex_idl::gen_exception_list ( } void -be_visitor_home_ex_idl::gen_factories (void) -{ - this->gen_init_ops (node_->factories ()); -} - -void -be_visitor_home_ex_idl::gen_finders (void) -{ - this->gen_init_ops (node_->finders ()); -} - -void -be_visitor_home_ex_idl::gen_init_ops (AST_Home::INIT_LIST & list) -{ - AST_Operation **op = 0; - - for (AST_Home::INIT_LIST::ITERATOR i = list.begin (); - !i.done (); - i.advance ()) - { - i.next (op); - be_operation *bop = be_operation::narrow_from_decl (*op); - - os_ << be_nl - << "::Components::EnterpriseComponent " - << IdentifierHelper::try_escape (bop->original_local_name ()).c_str () - << " (" << be_idt << be_idt; - - if (this->visit_scope (bop) == -1) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("be_visitor_home_ex_idl::") - ACE_TEXT ("gen_init_ops - ") - ACE_TEXT ("visit_scope() failed\n"))); - } - - os_ << ")" - << be_uidt << be_uidt; - - this->gen_exception_list (bop->exceptions (), "", true); - - os_ << ";"; - } -} - -void be_visitor_home_ex_idl::gen_home_executor (void) { AST_Component *comp = node_->managed_component (); |