summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-06-17 13:58:27 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-06-17 13:58:27 +0000
commit695ec7cb454d4d0c76c765286f25fb15e7765486 (patch)
treee2efb8adbb3827f3a54d5ea17cc2f2010f0d519f
parent1bc5b47857193784a51c9f5cfd2ea019d8cde053 (diff)
downloadATCD-695ec7cb454d4d0c76c765286f25fb15e7765486.tar.gz
ChangeLogTag: Thu Jun 17 13:55:57 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog11
-rw-r--r--TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp12
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp3
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp3
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp6
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)
{