diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-04-20 17:51:26 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-04-20 17:51:26 +0000 |
commit | 28cea8b8731c603a9ef6a47167cb902f1bb97e82 (patch) | |
tree | da49fe182ec1f239466e31b953915a6868c904cf | |
parent | 07122f77c4385b795709792597856fc78ccd1d4c (diff) | |
download | ATCD-28cea8b8731c603a9ef6a47167cb902f1bb97e82.tar.gz |
ChangeLogTag: Tue Apr 20 17:49:15 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | CIAO/ChangeLog | 9 | ||||
-rw-r--r-- | CIAO/tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp | 21 |
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); |