summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-04-20 17:51:26 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-04-20 17:51:26 +0000
commite0c8d335bf40cfce8aea98655124c0461ad6228f (patch)
treeda49fe182ec1f239466e31b953915a6868c904cf
parentae42ee06d3481e2f5b850d97d9e6376b7b17d8c3 (diff)
downloadATCD-e0c8d335bf40cfce8aea98655124c0461ad6228f.tar.gz
ChangeLogTag: Tue Apr 20 17:49:15 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--CIAO/ChangeLog9
-rw-r--r--CIAO/tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp21
2 files changed, 28 insertions, 2 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index 3b3c0a1d2c6..c9642aedc83 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,12 @@
+Tue Apr 20 17:49:15 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp:
+
+ Disabled generation of implied IDL operations for facets
+ and receptacles if the underlying interface type is local.
+ Ports using local interfaces are used only by the
+ container, and not exposed to clients.
+
Tue Apr 20 09:47:50 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/IDL_Test/IDL3_Plus/KitchenSink.mpc:
diff --git a/CIAO/tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp b/CIAO/tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp
index 9882aecbded..cdc09212a0a 100644
--- a/CIAO/tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp
+++ b/CIAO/tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp
@@ -209,10 +209,19 @@ idl3_to_idl2_visitor::visit_component_fwd (AST_ComponentFwd *node)
int
idl3_to_idl2_visitor::visit_provides (AST_Provides *node)
{
+ AST_Type *pt = node->provides_type ();
+
+ /// These ports are always internal to the container, no
+ /// equivalent IDL should be generated for them.
+ if (pt->is_local ())
+ {
+ return 0;
+ }
+
Identifier *orig_id =
IdentifierHelper::original_local_name (node->local_name ());
- UTL_ScopedName *n = node->provides_type ()->name ();
+ UTL_ScopedName *n = pt->name ();
ACE_CString impl_name =
IdentifierHelper::orig_sn (n);
@@ -230,12 +239,20 @@ idl3_to_idl2_visitor::visit_provides (AST_Provides *node)
int
idl3_to_idl2_visitor::visit_uses (AST_Uses *node)
{
+ AST_Type *ut = node->uses_type ();
+
+ /// These ports are always internal to the container, no
+ /// equivalent IDL should be generated for them.
+ if (ut->is_local ())
+ {
+ return 0;
+ }
+
*os << be_nl << be_nl;
Identifier *orig_id =
IdentifierHelper::original_local_name (node->local_name ());
- AST_Type *ut = node->uses_type ();
UTL_ScopedName *n = ut->name ();
ACE_CString impl_str =
IdentifierHelper::orig_sn (n);