summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-04-07 16:44:49 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-04-07 16:44:49 +0000
commit265511dd2a8aa7712f1b35294251566b8076b72c (patch)
tree6ac432264b117cb384ebceae384c4c9bd6403942
parentd1cc7f8e39b9738e8c597108ef848b17c55b59bb (diff)
downloadATCD-265511dd2a8aa7712f1b35294251566b8076b72c.tar.gz
ChangeLogTag: Wed Apr 7 16:44:25 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog19
-rw-r--r--TAO/TAO_IDL/be/be_typedef.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_visitor_any_extracted_type_decl.cpp37
-rw-r--r--TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_visitor_field.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_structure.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_structure/structure.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_structure/structure_ch.cpp1
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
// ******************************************************