diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-06-17 13:58:27 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-06-17 13:58:27 +0000 |
commit | 695ec7cb454d4d0c76c765286f25fb15e7765486 (patch) | |
tree | e2efb8adbb3827f3a54d5ea17cc2f2010f0d519f | |
parent | 1bc5b47857193784a51c9f5cfd2ea019d8cde053 (diff) | |
download | ATCD-695ec7cb454d4d0c76c765286f25fb15e7765486.tar.gz |
ChangeLogTag: Thu Jun 17 13:55:57 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 11 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp | 12 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp | 3 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp | 3 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp | 6 |
5 files changed, 23 insertions, 12 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 5a7b4df1262..9205c573052 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,14 @@ +Thu Jun 17 13:55:57 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_visitor_operation/operation_ch.cpp: + * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: + * TAO_IDL/be/be_visitor_operation/operation_svs.cpp: + * TAO_IDL/be/be_visitor_attribute/attribute.cpp: + + Fixes to correct the logic of inserting the port name, + if any, into operation names, especially operations + that stem from attributes declared in a porttype. + Thu Jun 17 10:56:40 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com> * tao/Valuetype/AbstractBase.cpp: diff --git a/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp b/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp index 332e93dfa15..3f8072a6370 100644 --- a/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp +++ b/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp @@ -68,15 +68,19 @@ be_visitor_attribute::visit_attribute (be_attribute *node) return 0; } } + + ACE_CString op_name (this->ctx_->port_prefix ()); + op_name += node->local_name ()->get_string (); + Identifier op_id (op_name.c_str ()); + UTL_ScopedName op_sn (&op_id, 0); // first the "get" operation be_operation get_op (node->field_type (), AST_Operation::OP_noflags, - node->name (), + &op_sn, node->is_local (), node->is_abstract ()); - get_op.set_name ((UTL_IdList *) node->name ()->copy ()); get_op.set_defined_in (node->defined_in ()); UTL_ExceptList *get_exceptions = node->get_get_exceptions (); @@ -237,13 +241,13 @@ be_visitor_attribute::visit_attribute (be_attribute *node) node->name ()); arg->set_name ((UTL_IdList *) node->name ()->copy ()); + // Create the operation. be_operation set_op (&rt, AST_Operation::OP_noflags, - node->name (), + &op_sn, node->is_local (), node->is_abstract ()); - set_op.set_name ((UTL_IdList *) node->name ()->copy ()); set_op.set_defined_in (node->defined_in ()); set_op.be_add_argument (arg); diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp index c1910e1f343..4aa05cef6b7 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp @@ -67,8 +67,7 @@ be_visitor_operation_ch::visit_operation (be_operation *node) // STEP 2: generate the operation name. The port prefix should // be an empty string except for operations from attributes // defined in a porttype. - *os << be_nl - << this->ctx_->port_prefix ().c_str () << node->local_name (); + *os << be_nl << node->local_name (); // STEP 3: generate the argument list with the appropriate mapping. For these // we grab a visitor that generates the parameter listing. diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp index 0393fa132e1..80f9ae985af 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp @@ -106,8 +106,7 @@ be_visitor_operation_cs::visit_operation (be_operation *node) // Generate the operation name *os << be_nl - << intf->name () << "::" << this->ctx_->port_prefix ().c_str () - << node->local_name (); + << intf->name () << "::" << node->local_name (); // Generate the argument list with the appropriate mapping (same as // in the header file) diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp index de6a2c9bd85..7f623d20cb7 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp @@ -60,8 +60,7 @@ be_visitor_operation_svs::visit_operation (be_operation *node) << scope_->original_local_name ()->get_string () << "_Servant"; - os_ << "::" << this->ctx_->port_prefix ().c_str () - << node->local_name (); + os_ << "::" << node->local_name (); // Generate the argument list with the appropriate mapping (same as // in the header file) @@ -99,8 +98,7 @@ be_visitor_operation_svs::gen_op_body (be_operation *node) os_ << "return "; } - os_ << "this->executor_->" << this->ctx_->port_prefix ().c_str () - << node->local_name () << " ("; + os_ << "this->executor_->" << node->local_name () << " ("; if (node->argument_count () == 0) { |