diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-04-07 16:44:49 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-04-07 16:44:49 +0000 |
commit | 265511dd2a8aa7712f1b35294251566b8076b72c (patch) | |
tree | 6ac432264b117cb384ebceae384c4c9bd6403942 | |
parent | d1cc7f8e39b9738e8c597108ef848b17c55b59bb (diff) | |
download | ATCD-265511dd2a8aa7712f1b35294251566b8076b72c.tar.gz |
ChangeLogTag: Wed Apr 7 16:44:25 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 19 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_typedef.cpp | 2 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_any_extracted_type_decl.cpp | 37 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp | 2 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_field.cpp | 1 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 1 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_structure.cpp | 1 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_structure/structure.cpp | 1 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_structure/structure_ch.cpp | 1 |
9 files changed, 52 insertions, 13 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 205b403c63e..793d76a9483 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,22 @@ +Wed Apr 7 16:44:25 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_visitor_structure.cpp: + * TAO_IDL/be/be_typedef.cpp: + * TAO_IDL/be/be_visitor_structure/structure.cpp: + * TAO_IDL/be/be_visitor_structure/structure_ch.cpp: + * TAO_IDL/be/be_visitor_field.cpp: + * TAO_IDL/be/be_visitor_field/field_ch.cpp: + + Cosmetic changes. + + * TAO_IDL/be/be_visitor_attribute/component_init.cpp: + * TAO_IDL/be/be_visitor_any_extracted_type_decl.cpp: + + Changes to support configuration of component + attributes of (typedef'd) sequence type. Attributes + of anonymous sequence type (deprecated by the OMG) + are not supported. + Wed Apr 7 15:18:40 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu> * be/be_visitor_attribute/component_init.cpp: diff --git a/TAO/TAO_IDL/be/be_typedef.cpp b/TAO/TAO_IDL/be/be_typedef.cpp index 4cd3107942b..ace545aa4e2 100644 --- a/TAO/TAO_IDL/be/be_typedef.cpp +++ b/TAO/TAO_IDL/be/be_typedef.cpp @@ -122,6 +122,4 @@ be_typedef::accept (be_visitor *visitor) return visitor->visit_typedef (this); } - - IMPL_NARROW_FROM_DECL (be_typedef) diff --git a/TAO/TAO_IDL/be/be_visitor_any_extracted_type_decl.cpp b/TAO/TAO_IDL/be/be_visitor_any_extracted_type_decl.cpp index 787cc4e1fd4..f12afd94327 100644 --- a/TAO/TAO_IDL/be/be_visitor_any_extracted_type_decl.cpp +++ b/TAO/TAO_IDL/be/be_visitor_any_extracted_type_decl.cpp @@ -18,6 +18,8 @@ #include "be_valuebox.h" #include "be_valuetype.h" +#include "ast_root.h" + #include "utl_identifier.h" be_visitor_any_extracted_type_decl::be_visitor_any_extracted_type_decl ( @@ -57,7 +59,8 @@ be_visitor_any_extracted_type_decl::visit_enum (be_enum *node) } int -be_visitor_any_extracted_type_decl::visit_eventtype (be_eventtype *node) +be_visitor_any_extracted_type_decl::visit_eventtype ( + be_eventtype *node) { os_ << node->full_name () << " * " << var_name_ << " = 0;"; return 0; @@ -72,7 +75,8 @@ be_visitor_any_extracted_type_decl::visit_home (be_home *node) } int -be_visitor_any_extracted_type_decl::visit_interface (be_interface *node) +be_visitor_any_extracted_type_decl::visit_interface ( + be_interface *node) { os_ << node->full_name () << "_ptr " << var_name_ << " = " << node->full_name () << "::_nil ();"; @@ -80,7 +84,8 @@ be_visitor_any_extracted_type_decl::visit_interface (be_interface *node) } int -be_visitor_any_extracted_type_decl::visit_predefined_type (be_predefined_type *node) +be_visitor_any_extracted_type_decl::visit_predefined_type ( + be_predefined_type *node) { os_ << node->full_name () << " "; @@ -167,7 +172,16 @@ be_visitor_any_extracted_type_decl::visit_predefined_type (be_predefined_type *n int be_visitor_any_extracted_type_decl::visit_sequence (be_sequence *node) { - os_ << node->full_name () << " * " << var_name_ << " = 0;"; + be_type *bt = this->ctx_->alias (); + + if (bt == 0) + { + bt = node; + } + + os_ << bt->nested_type_name (idl_global->root ()) + << " * " << var_name_ << " = 0;"; + return 0; } @@ -188,7 +202,20 @@ be_visitor_any_extracted_type_decl::visit_structure (be_structure *node) int be_visitor_any_extracted_type_decl::visit_typedef (be_typedef *node) { - return node->primitive_base_type ()->accept (this); + this->ctx_->alias (node); + int status = node->primitive_base_type ()->accept (this); + + if (status == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "be_visitor_any_extracted_type_decl::" + "visit_typedef - " + "accept on primitive type failed\n"), + -1); + } + + this->ctx_->alias (0); + return 0; } int diff --git a/TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp b/TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp index 667b50ea77b..e37edaae1ef 100644 --- a/TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp +++ b/TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp @@ -91,7 +91,7 @@ be_visitor_attribute_component_init::visit_predefined_type (be_predefined_type * int be_visitor_attribute_component_init::visit_sequence (be_sequence *) { - this->emit_error ("sequence"); + this->emit_init_block (); return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_field.cpp b/TAO/TAO_IDL/be/be_visitor_field.cpp index 14a3821b79d..51edd82480c 100644 --- a/TAO/TAO_IDL/be/be_visitor_field.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field.cpp @@ -11,7 +11,6 @@ */ //============================================================================= - #include "be_type.h" #include "be_field.h" #include "be_array.h" diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index 44ca2692514..bab882abfc3 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -12,7 +12,6 @@ */ //============================================================================= - #include "be_visitor_enum/enum_ch.h" #include "be_visitor_sequence/sequence_ch.h" #include "nr_extern.h" diff --git a/TAO/TAO_IDL/be/be_visitor_structure.cpp b/TAO/TAO_IDL/be/be_visitor_structure.cpp index 151cdec8754..6fc8d989d3b 100644 --- a/TAO/TAO_IDL/be/be_visitor_structure.cpp +++ b/TAO/TAO_IDL/be/be_visitor_structure.cpp @@ -12,7 +12,6 @@ */ //============================================================================= - #include "be_field.h" #include "be_structure.h" #include "be_helper.h" diff --git a/TAO/TAO_IDL/be/be_visitor_structure/structure.cpp b/TAO/TAO_IDL/be/be_visitor_structure/structure.cpp index 23a5761d55e..9558e7507a7 100644 --- a/TAO/TAO_IDL/be/be_visitor_structure/structure.cpp +++ b/TAO/TAO_IDL/be/be_visitor_structure/structure.cpp @@ -12,7 +12,6 @@ */ //============================================================================= - be_visitor_structure::be_visitor_structure (be_visitor_context *ctx) : be_visitor_scope (ctx) { diff --git a/TAO/TAO_IDL/be/be_visitor_structure/structure_ch.cpp b/TAO/TAO_IDL/be/be_visitor_structure/structure_ch.cpp index 702bc3091ff..7f3410ca09c 100644 --- a/TAO/TAO_IDL/be/be_visitor_structure/structure_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_structure/structure_ch.cpp @@ -12,7 +12,6 @@ */ //============================================================================= - // ****************************************************** // for client header // ****************************************************** |