summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_field.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_field.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_field.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_field.cpp b/TAO/TAO_IDL/be/be_visitor_field.cpp
index 655dfc073ca..aea7858ea37 100644
--- a/TAO/TAO_IDL/be/be_visitor_field.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_field.cpp
@@ -77,6 +77,7 @@ be_visitor_field_ch::visit_field (be_field *node)
int
be_visitor_field_ch::visit_array (be_array *node)
{
+ // TO-DO
return 0;
}
@@ -256,7 +257,14 @@ be_visitor_field_ch::visit_string (be_string *node)
os = this->ctx_->stream ();
os->indent (); // start from current indentation level
- *os << "CORBA::String_var";
+ // set the right type;
+ if (this->ctx_->alias ())
+ {
+ *os << this->ctx_->alias ()->nested_type_name (this->ctx_->scope ())
+ << "_var";
+ }
+ else
+ *os << "CORBA::String_var";
return 0;
}
@@ -316,10 +324,6 @@ be_visitor_field_ch::visit_structure (be_structure *node)
int
be_visitor_field_ch::visit_typedef (be_typedef *node)
{
- TAO_OutStream *os; // output stream
-
- os = this->ctx_->stream ();
- os->indent (); // start from current indentation level
this->ctx_->alias (node); // save the node for use in code generation and
// indicate that the field of the field node
// is a typedefed quantity