summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_amh_pre_proc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_amh_pre_proc.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_amh_pre_proc.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_amh_pre_proc.cpp b/TAO/TAO_IDL/be/be_visitor_amh_pre_proc.cpp
index 232bed31bea..8deb1967180 100644
--- a/TAO/TAO_IDL/be/be_visitor_amh_pre_proc.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_amh_pre_proc.cpp
@@ -185,10 +185,16 @@ be_visitor_amh_pre_proc::create_response_handler (
response_handler->set_imported (node->imported ());
response_handler->set_line (node->line ());
response_handler->set_file_name (node->file_name ());
+
+ // Set repo id to 0, so it will be recomputed on the next access,
+ // and set the prefix to the node's prefix. All this is
+ // necessary in case the node's prefix was modified after
+ // its declaration.
+ response_handler->AST_Decl::repoID (0);
+ response_handler->prefix (const_cast<char*> (node->prefix ()));
+
response_handler->gen_fwd_helper_name ();
-
this->add_rh_node_members (node, response_handler, exception_holder);
-
return response_handler;
}
@@ -619,6 +625,14 @@ be_visitor_amh_pre_proc::create_exception_holder (be_interface *node)
excep_holder->set_name (excep_holder_name);
excep_holder->set_defined_in (node->defined_in ());
+
+ // Set repo id to 0, so it will be recomputed on the next access,
+ // and set the prefix to the node's prefix. All this is
+ // necessary in case the node's prefix was modified after
+ // its declaration.
+ excep_holder->AST_Decl::repoID (0);
+ excep_holder->prefix (const_cast<char*> (node->prefix ()));
+
excep_holder->gen_fwd_helper_name ();
// Now our customized valuetype is created, we have to