diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2010-10-25 05:41:56 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2010-10-25 05:41:56 +0000 |
commit | dea20439a1353910739273b91baed9685e8d14c8 (patch) | |
tree | 46416799552dc61926453dae1b2e86e0ad70635f | |
parent | 9ce7d500302c80984f21304856f24410125df501 (diff) | |
download | ATCD-dea20439a1353910739273b91baed9685e8d14c8.tar.gz |
Mon Oct 25 05:37:24 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO_IDL/be/be_visitor_null_return_value.cpp:
Reverted change below, this visitor seems to be used in multiple
places, need to add a new one for attribute initialization
-rw-r--r-- | TAO/ChangeLog | 6 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_null_return_value.cpp | 45 |
2 files changed, 46 insertions, 5 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index acc43344182..ec7bb059174 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,9 @@ +Mon Oct 25 05:37:24 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl> + + * TAO_IDL/be/be_visitor_null_return_value.cpp: + Reverted change below, this visitor seems to be used in multiple + places, need to add a new one for attribute initialization + Sun Oct 24 11:34:00 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl> * TAO_IDL/be/be_visitor_null_return_value.cpp: diff --git a/TAO/TAO_IDL/be/be_visitor_null_return_value.cpp b/TAO/TAO_IDL/be/be_visitor_null_return_value.cpp index 1fc7cba39b5..0c33b4baa46 100644 --- a/TAO/TAO_IDL/be/be_visitor_null_return_value.cpp +++ b/TAO/TAO_IDL/be/be_visitor_null_return_value.cpp @@ -30,8 +30,11 @@ be_visitor_null_return_value::~be_visitor_null_return_value (void) } int -be_visitor_null_return_value::visit_array (be_array *) +be_visitor_null_return_value::visit_array (be_array *node) { + os_ << "static_cast< ::" << node->full_name () + << "_slice *> (0)"; + return 0; } @@ -118,20 +121,42 @@ be_visitor_null_return_value::visit_predefined_type (be_predefined_type *node) } int -be_visitor_null_return_value::visit_sequence (be_sequence *) +be_visitor_null_return_value::visit_sequence (be_sequence *node) { + os_ << "static_cast< ::" << node->full_name () + << " *> (0)"; + return 0; } int -be_visitor_null_return_value::visit_string (be_string *) +be_visitor_null_return_value::visit_string (be_string *node) { + if (node->width () == sizeof (char)) + { + os_ << "static_cast<char *> (0)"; + } + else + { + os_ << "static_cast< ::CORBA::WChar *> (0)"; + } + return 0; } int -be_visitor_null_return_value::visit_structure (be_structure *) +be_visitor_null_return_value::visit_structure (be_structure *node) { + if (node->size_type () == AST_Type::FIXED) + { + os_ << " ::" << node->full_name () << " ()"; + } + else + { + os_ << "static_cast< ::" << node->full_name () + << " *> (0)"; + } + return 0; } @@ -142,8 +167,18 @@ be_visitor_null_return_value::visit_typedef (be_typedef *node) } int -be_visitor_null_return_value::visit_union (be_union *) +be_visitor_null_return_value::visit_union (be_union *node) { + if (node->size_type () == AST_Type::FIXED) + { + os_ << " ::" << node->full_name () << " ()"; + } + else + { + os_ << "static_cast< ::" << node->full_name () + << " *> (0)"; + } + return 0; } |