diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_sequence/buffer_type.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_sequence/buffer_type.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/buffer_type.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/buffer_type.cpp index 03c5ebe2613..6db0c5878ef 100644 --- a/TAO/TAO_IDL/be/be_visitor_sequence/buffer_type.cpp +++ b/TAO/TAO_IDL/be/be_visitor_sequence/buffer_type.cpp @@ -127,13 +127,35 @@ be_visitor_sequence_buffer_type::visit_interface_fwd (be_interface_fwd *node) int be_visitor_sequence_buffer_type::visit_valuetype (be_valuetype *node) { - return this->visit_interface (node); + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope (), " *"); + } + else + { + *os << node->name () << " *"; + } + + return 0; } int be_visitor_sequence_buffer_type::visit_valuetype_fwd (be_valuetype_fwd *node) { - return this->visit_interface_fwd (node); + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope (), " *"); + } + else + { + *os << node->name () << " *"; + } + + return 0; } int |