diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-14 21:14:15 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-14 21:14:15 +0000 |
commit | 241fc0c1993c591c6d6232334284e03bca7c32ea (patch) | |
tree | 7f481b79d0e6d62be8d4ff6572f295bf2debccfe | |
parent | 0b417dfa8184617128cd473cf27a508ff89f7ca9 (diff) | |
download | ATCD-241fc0c1993c591c6d6232334284e03bca7c32ea.tar.gz |
ChangeLogTag: Mon Apr 14 16:10:50 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog_ref | 15 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_sequence.cpp | 24 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_type.cpp | 6 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp | 29 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp | 3 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp | 32 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp | 3 |
7 files changed, 74 insertions, 38 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref index bd0caab4b1b..a9a08109376 100644 --- a/TAO/ChangeLog_ref +++ b/TAO/ChangeLog_ref @@ -1,3 +1,18 @@ +Mon Apr 14 16:10:50 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_sequence.cpp: + * TAO_IDL/be/be_type.cpp: + * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: + * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp: + * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: + * TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp: + * TAO_IDL/be_include/be_type.h: + + Fixed code generation for sequence of forward declared interface + from a previous opening of the enclosing module, and for + utility functions when nested scoped names repeat after skipping + a level. + Mon Apr 14 14:33:48 2003 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/be/be_sequence.cpp: diff --git a/TAO/TAO_IDL/be/be_sequence.cpp b/TAO/TAO_IDL/be/be_sequence.cpp index 0ac64e7f27e..3a072c83d13 100644 --- a/TAO/TAO_IDL/be/be_sequence.cpp +++ b/TAO/TAO_IDL/be/be_sequence.cpp @@ -486,8 +486,8 @@ be_sequence::gen_base_class_name (TAO_OutStream *os, if (this->unbounded ()) { *os << "TAO_Unbounded_Object_Sequence<" << be_idt << be_idt_nl - << elem->nested_type_name (elem_scope) << "," << be_nl - << elem->nested_type_name (elem_scope, "_var") << "," << be_nl + << elem->nested_type_name (elem_scope) << "," << be_nl; + *os << elem->nested_type_name (elem_scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life," << be_nl << elem->fwd_helper_name () << "_cast" << be_uidt_nl << ">" << be_uidt; @@ -495,8 +495,8 @@ be_sequence::gen_base_class_name (TAO_OutStream *os, else { *os << "TAO_Bounded_Object_Sequence<" << be_idt << be_idt_nl - << elem->nested_type_name (elem_scope) << "," << be_nl - << elem->nested_type_name (elem_scope, "_var") << "," << be_nl + << elem->nested_type_name (elem_scope) << "," << be_nl; + *os << elem->nested_type_name (elem_scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life," << be_nl << elem->fwd_helper_name () << "_cast," << be_nl << this->max_size ()->ev ()->u.ulval << be_uidt_nl @@ -508,16 +508,16 @@ be_sequence::gen_base_class_name (TAO_OutStream *os, if (this->unbounded ()) { *os << "TAO_Unbounded_Abstract_Sequence<" << be_idt << be_idt_nl - << elem->nested_type_name (elem_scope) << "," << be_nl - << elem->nested_type_name (elem_scope, "_var") << "," << be_nl + << elem->nested_type_name (elem_scope) << "," << be_nl; + *os << elem->nested_type_name (elem_scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life" << be_uidt_nl << ">" << be_uidt; } else { *os << "TAO_Bounded_Abstract_Sequence<" << be_idt << be_idt_nl - << elem->nested_type_name (elem_scope) << "," << be_nl - << elem->nested_type_name (elem_scope, "_var") << "," << be_nl + << elem->nested_type_name (elem_scope) << "," << be_nl; + *os << elem->nested_type_name (elem_scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life," << be_nl << this->max_size ()->ev ()->u.ulval << be_uidt_nl << ">" << be_uidt; @@ -546,16 +546,16 @@ be_sequence::gen_base_class_name (TAO_OutStream *os, if (this->unbounded ()) { *os << "TAO_Unbounded_Valuetype_Sequence<" << be_idt << be_idt_nl - << elem->nested_type_name (elem_scope) << "," << be_nl - << elem->nested_type_name (elem_scope, "_var") << "," << be_nl + << elem->nested_type_name (elem_scope) << "," << be_nl; + *os << elem->nested_type_name (elem_scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life" << be_uidt_nl << ">" << be_uidt; } else { *os << "TAO_Bounded_Valuetype_Sequence<" << be_idt << be_idt_nl - << elem->nested_type_name (elem_scope) << "," << be_nl - << elem->nested_type_name (elem_scope, "_var") << "," << be_nl + << elem->nested_type_name (elem_scope) << "," << be_nl; + *os << elem->nested_type_name (elem_scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life," << be_nl << this->max_size ()->ev ()->u.ulval << be_uidt_nl << ">" << be_uidt; diff --git a/TAO/TAO_IDL/be/be_type.cpp b/TAO/TAO_IDL/be/be_type.cpp index 83186208a91..00537bf3ded 100644 --- a/TAO/TAO_IDL/be/be_type.cpp +++ b/TAO/TAO_IDL/be/be_type.cpp @@ -232,6 +232,12 @@ be_type::fwd_helper_name (void) const } void +be_type::fwd_helper_name (const char *name) +{ + this->fwd_helper_name_ = name; +} + +void be_type::gen_common_varout (TAO_OutStream *os) { if (this->common_varout_gen_ == 1) diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp index 93dd7a643e5..685674b6236 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp @@ -68,10 +68,11 @@ be_visitor_interface_cs::visit_interface (be_interface *node) << node->full_name () << "_ptr" << be_nl << fhname << "_life::" << "tao_duplicate (" << be_idt << be_idt_nl - << node->full_name () << "_ptr p" << be_uidt_nl + << node->nested_type_name (this->ctx_->scope ()) + << "_ptr p" << be_uidt_nl << ")" << be_uidt_nl << "{" << be_idt_nl - << "return " << node->full_name () + << "return " << node->nested_type_name (this->ctx_->scope ()) << "::_duplicate (p);" << be_uidt_nl << "}"; @@ -79,7 +80,8 @@ be_visitor_interface_cs::visit_interface (be_interface *node) << "void" << be_nl << fhname << "_life::" << "tao_release (" << be_idt << be_idt_nl - << node->full_name () << "_ptr p" << be_uidt_nl + << node->nested_type_name (this->ctx_->scope ()) + << "_ptr p" << be_uidt_nl << ")" << be_uidt_nl << "{" << be_idt_nl << "CORBA::release (p);" << be_uidt_nl @@ -92,7 +94,7 @@ be_visitor_interface_cs::visit_interface (be_interface *node) << "void" << be_uidt_nl << ")" << be_uidt_nl << "{" << be_idt_nl - << "return " << node->full_name () + << "return " << node->nested_type_name (this->ctx_->scope ()) << "::_nil ();" << be_uidt_nl << "}"; @@ -100,7 +102,8 @@ be_visitor_interface_cs::visit_interface (be_interface *node) << "CORBA::Boolean" << be_nl << fhname << "_life::" << "tao_marshal (" << be_idt << be_idt_nl - << node->name () << "_ptr p," << be_nl + << node->nested_type_name (this->ctx_->scope ()) + << "_ptr p," << be_nl << "TAO_OutputCDR &cdr" << be_uidt_nl << ")" << be_uidt_nl << "{" << be_idt_nl @@ -117,7 +120,7 @@ be_visitor_interface_cs::visit_interface (be_interface *node) << "ACE_ENV_ARG_DECL" << be_uidt_nl << ")" << be_uidt_nl << "{" << be_idt_nl - << "return " << node->full_name () + << "return " << node->nested_type_name (this->ctx_->scope ()) << "::_narrow (p ACE_ENV_ARG_PARAMETER);" << be_uidt_nl << "}"; @@ -129,8 +132,10 @@ be_visitor_interface_cs::visit_interface (be_interface *node) << "void *src" << be_uidt_nl << ")" << be_uidt_nl << "{" << be_idt_nl - << node->full_name () << " **tmp =" << be_idt_nl - << "ACE_static_cast (" << node->full_name () + << node->nested_type_name (this->ctx_->scope ()) + << " **tmp =" << be_idt_nl + << "ACE_static_cast (" + << node->nested_type_name (this->ctx_->scope ()) << " **, src);" << be_uidt_nl << "return *tmp;" << be_uidt_nl << "}"; @@ -140,7 +145,9 @@ be_visitor_interface_cs::visit_interface (be_interface *node) { *os << be_nl << be_nl << "void" << be_nl - << "CORBA::release (" << node->name () << "_ptr p)" << be_nl + << "CORBA::release (" + << node->nested_type_name (this->ctx_->scope ()) + << "_ptr p)" << be_nl << "{" << be_idt_nl << "CORBA::AbstractBase_ptr abs = p;" << be_nl << "CORBA::release (abs);" << be_uidt_nl @@ -148,7 +155,9 @@ be_visitor_interface_cs::visit_interface (be_interface *node) *os << be_nl << be_nl << "CORBA::Boolean" << be_nl - << "CORBA::is_nil (" << node->name () << "_ptr p)" << be_nl + << "CORBA::is_nil (" + << node->nested_type_name (this->ctx_->scope ()) + << "_ptr p)" << be_nl << "{" << be_idt_nl << "CORBA::Object_ptr obj = p;" << be_nl << "return CORBA::is_nil (obj);" << be_uidt_nl diff --git a/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp index b5c8399743e..8be0d364095 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp @@ -53,6 +53,9 @@ be_visitor_interface_fwd_ch::visit_interface_fwd (be_interface_fwd *node) // This will be a no-op if it has already been done for this node. bfd->gen_var_out_seq_decls (); + // Copy the fwd helper name back to the forward declared interface node. + node->fwd_helper_name (bfd->fwd_helper_name ()); + node->cli_hdr_gen (I_TRUE); return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp index 2a647df034c..faed84b3860 100644 --- a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp @@ -236,8 +236,8 @@ be_visitor_sequence_ch::gen_varout_typedefs (be_sequence *node, << "TAO_MngSeq_Var_T<" << be_idt << be_idt_nl << node->local_name () << "," << be_nl << "TAO_Object_Manager<" << be_idt << be_idt_nl - << elem->nested_type_name (scope) << "," << be_nl - << elem->nested_type_name (scope, "_var") << "," << be_nl + << elem->nested_type_name (scope) << "," << be_nl; + *os << elem->nested_type_name (scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life" << be_uidt_nl << ">" << be_uidt << be_uidt_nl << ">" << be_uidt_nl @@ -249,8 +249,8 @@ be_visitor_sequence_ch::gen_varout_typedefs (be_sequence *node, << node->local_name () << "," << be_nl << node->local_name () << "_var," << be_nl << "TAO_Object_Manager<" << be_idt << be_idt_nl - << elem->nested_type_name (scope) << "," << be_nl - << elem->nested_type_name (scope, "_var") << "," << be_nl + << elem->nested_type_name (scope) << "," << be_nl; + *os << elem->nested_type_name (scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life" << be_uidt_nl << ">" << be_uidt << be_uidt_nl << ">" << be_uidt_nl @@ -262,8 +262,8 @@ be_visitor_sequence_ch::gen_varout_typedefs (be_sequence *node, << "TAO_MngSeq_Var_T<" << be_idt << be_idt_nl << node->local_name () << "," << be_nl << "TAO_Abstract_Manager<" << be_idt << be_idt_nl - << elem->nested_type_name (scope) << "," << be_nl - << elem->nested_type_name (scope, "_var") << "," << be_nl + << elem->nested_type_name (scope) << "," << be_nl; + *os << elem->nested_type_name (scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life" << be_uidt_nl << ">" << be_uidt << be_uidt_nl << ">" << be_uidt_nl @@ -275,8 +275,8 @@ be_visitor_sequence_ch::gen_varout_typedefs (be_sequence *node, << node->local_name () << "," << be_nl << node->local_name () << "_var," << be_nl << "TAO_Abstract_Manager<" << be_idt << be_idt_nl - << elem->nested_type_name (scope) << "," << be_nl - << elem->nested_type_name (scope, "_var") << "," << be_nl + << elem->nested_type_name (scope) << "," << be_nl; + *os << elem->nested_type_name (scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life" << be_uidt_nl << ">" << be_uidt << be_uidt_nl << ">" << be_uidt_nl @@ -288,8 +288,8 @@ be_visitor_sequence_ch::gen_varout_typedefs (be_sequence *node, << "TAO_MngSeq_Var_T<" << be_idt << be_idt_nl << node->local_name () << "," << be_nl << "TAO_Pseudo_Object_Manager<" << be_idt << be_idt_nl - << elem->nested_type_name (scope) << "," << be_nl - << elem->nested_type_name (scope, "_var") << be_uidt_nl + << elem->nested_type_name (scope) << "," << be_nl; + *os << elem->nested_type_name (scope, "_var") << be_uidt_nl << ">" << be_uidt << be_uidt_nl << ">" << be_uidt_nl << node->local_name () << "_var;" << be_uidt; @@ -300,8 +300,8 @@ be_visitor_sequence_ch::gen_varout_typedefs (be_sequence *node, << node->local_name () << "," << be_nl << node->local_name () << "_var," << be_nl << "TAO_Pseudo_Object_Manager<" << be_idt << be_idt_nl - << elem->nested_type_name (scope) << "," << be_nl - << elem->nested_type_name (scope, "_var") << be_uidt_nl + << elem->nested_type_name (scope) << "," << be_nl; + *os << elem->nested_type_name (scope, "_var") << be_uidt_nl << ">" << be_uidt << be_uidt_nl << ">" << be_uidt_nl << node->local_name () << "_out;" << be_uidt; @@ -312,8 +312,8 @@ be_visitor_sequence_ch::gen_varout_typedefs (be_sequence *node, << "TAO_MngSeq_Var_T<" << be_idt << be_idt_nl << node->local_name () << "," << be_nl << "TAO_Valuetype_Manager<" << be_idt << be_idt_nl - << elem->nested_type_name (scope) << "," << be_nl - << elem->nested_type_name (scope, "_var") << "," << be_nl + << elem->nested_type_name (scope) << "," << be_nl; + *os << elem->nested_type_name (scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life" << be_uidt_nl << ">" << be_uidt << be_uidt_nl << ">" << be_uidt_nl @@ -325,8 +325,8 @@ be_visitor_sequence_ch::gen_varout_typedefs (be_sequence *node, << node->local_name () << "," << be_nl << node->local_name () << "_var," << be_nl << "TAO_Valuetype_Manager<" << be_idt << be_idt_nl - << elem->nested_type_name (scope) << "," << be_nl - << elem->nested_type_name (scope, "_var") << "," << be_nl + << elem->nested_type_name (scope) << "," << be_nl; + *os << elem->nested_type_name (scope, "_var") << "," << be_nl << elem->fwd_helper_name () << "_life" << be_uidt_nl << ">" << be_uidt << be_uidt_nl << ">" << be_uidt_nl diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp index 987845541cc..d97f32902be 100644 --- a/TAO/TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp @@ -50,6 +50,9 @@ be_visitor_valuetype_fwd_ch::visit_valuetype_fwd (be_valuetype_fwd *node) // This will be a no-op if it has already been done for this node. bfd->gen_var_out_seq_decls (); + // Copy the fwd helper name back to the forward declared interface node. + node->fwd_helper_name (bfd->fwd_helper_name ()); + node->cli_hdr_gen (I_TRUE); return 0; } |