summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_sequence/buffer_type.cpp
diff options
context:
space:
mode:
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.cpp26
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