summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-01-29 08:36:21 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-01-29 08:36:21 +0000
commit343951ae2a68e6b0e63c93066a45e0cc37132ab9 (patch)
treeab08a881ea1d001dc127cd23b59629f23f58504e /TAO/TAO_IDL
parente65ff3653d6708a33037332b49189f5d6612d03d (diff)
downloadATCD-343951ae2a68e6b0e63c93066a45e0cc37132ab9.tar.gz
ChangeLogTag: Sat Jan 29 02:31:21 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp41
1 files changed, 26 insertions, 15 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp b/TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp
index 35bedc9b113..61eedb3a7cd 100644
--- a/TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp
@@ -529,10 +529,14 @@ be_visitor_ami_pre_proc::create_reply_handler (be_interface *node,
reply_handler->set_defined_in (s);
reply_handler->gen_fwd_helper_name ();
- // Now our customized valuetype is created, we have to
- // add now the operations and attributes to the scope.
-
- if (! node->imported () && node->nmembers () > 0)
+ // Now our customized reply handler is created, we have to
+ // add the operations and attributes to the scope.
+ // Imported nodes get admitted here, so they can get
+ // the reply handler operations added, in case they are
+ // needed in the inheritance graph traversal for a
+ // child reply handler. However, no exception holder
+ // stuff is executed for an imported node.
+ if (node->nmembers () > 0)
{
this->elem_number_ = 0;
// Initialize an iterator to iterate thru our scope.
@@ -566,9 +570,12 @@ be_visitor_ami_pre_proc::create_reply_handler (be_interface *node,
this->create_reply_handler_operation (get_operation,
reply_handler);
- this->create_excep_operation (get_operation,
- reply_handler,
- excep_holder);
+ if (!node->imported ())
+ {
+ this->create_excep_operation (get_operation,
+ reply_handler,
+ excep_holder);
+ }
if (!attribute->readonly ())
{
@@ -577,11 +584,13 @@ be_visitor_ami_pre_proc::create_reply_handler (be_interface *node,
this->create_reply_handler_operation (set_operation,
reply_handler);
- this->create_excep_operation (set_operation,
- reply_handler,
- excep_holder);
+ if (!node->imported ())
+ {
+ this->create_excep_operation (set_operation,
+ reply_handler,
+ excep_holder);
+ }
}
-
}
else
{
@@ -592,9 +601,12 @@ be_visitor_ami_pre_proc::create_reply_handler (be_interface *node,
this->create_reply_handler_operation (operation,
reply_handler);
- this->create_excep_operation (operation,
- reply_handler,
- excep_holder);
+ if (!node->imported ())
+ {
+ this->create_excep_operation (operation,
+ reply_handler,
+ excep_holder);
+ }
}
}
} // end of while loop
@@ -1186,7 +1198,6 @@ be_visitor_ami_pre_proc::visit_scope (be_scope *node)
}
}
-
int elem_number = 0;
// Continue until each element is visited.