diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_array/array.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_array/array.cpp | 68 |
1 files changed, 51 insertions, 17 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_array/array.cpp b/TAO/TAO_IDL/be/be_visitor_array/array.cpp index 9ec78dae4b0..541b5a0bbc1 100644 --- a/TAO/TAO_IDL/be/be_visitor_array/array.cpp +++ b/TAO/TAO_IDL/be/be_visitor_array/array.cpp @@ -38,7 +38,7 @@ be_visitor_array::~be_visitor_array (void) int be_visitor_array::visit_array (be_array *) { - // must be overloaded by derived visitors + // Must be overloaded by derived visitors. return -1; } @@ -55,14 +55,23 @@ be_visitor_array::visit_interface (be_interface *node) be_type *bt; if (this->ctx_->alias ()) - bt = this->ctx_->alias (); + { + bt = this->ctx_->alias (); + } else - bt = node; + { + bt = node; + } if (this->ctx_->state () == TAO_CodeGen::TAO_ARRAY_CH) - *os << bt->nested_type_name (this->ctx_->scope (), "_var"); + { + *os << bt->nested_type_name (this->ctx_->scope (), "_var"); + } else - *os << bt->name () << "_var"; + { + *os << bt->name () << "_var"; + } + return 0; } @@ -73,14 +82,23 @@ be_visitor_array::visit_interface_fwd (be_interface_fwd *node) be_type *bt; if (this->ctx_->alias ()) - bt = this->ctx_->alias (); + { + bt = this->ctx_->alias (); + } else - bt = node; + { + bt = node; + } if (this->ctx_->state () == TAO_CodeGen::TAO_ARRAY_CH) - *os << bt->nested_type_name (this->ctx_->scope (), "_var"); + { + *os << bt->nested_type_name (this->ctx_->scope (), "_var"); + } else - *os << bt->name () << "_var"; + { + *os << bt->name () << "_var"; + } + return 0; } @@ -88,10 +106,18 @@ int be_visitor_array::visit_predefined_type (be_predefined_type *node) { TAO_OutStream *os = this->ctx_->stream (); - if (node->pt () == AST_PredefinedType::PT_pseudo) - *os << node->name () << "_var"; + AST_PredefinedType::PredefinedType pt = node->pt (); + + if (pt == AST_PredefinedType::PT_pseudo + || pt == AST_PredefinedType::PT_object) + { + *os << node->name () << "_var"; + } else - *os << node->name (); + { + *os << node->name (); + } + return 0; } @@ -134,7 +160,6 @@ int be_visitor_array::visit_typedef (be_typedef *node) { int result = this->visit_node (node); - TAO_OutStream *os = this->ctx_->stream (); AST_Decl::NodeType nt = node->primitive_base_type ()->node_type (); @@ -154,13 +179,22 @@ be_visitor_array::visit_node (be_type *node) be_type *bt; if (this->ctx_->alias ()) - bt = this->ctx_->alias (); + { + bt = this->ctx_->alias (); + } else - bt = node; + { + bt = node; + } if (this->ctx_->state () == TAO_CodeGen::TAO_ARRAY_CH) - *os << bt->nested_type_name (this->ctx_->scope ()); + { + *os << bt->nested_type_name (this->ctx_->scope ()); + } else - *os << bt->name (); + { + *os << bt->name (); + } + return 0; } |