summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_traits.cpp
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-29 03:43:41 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-29 03:43:41 +0000
commit99f4135b6b3df57957fbafdfd0492685a80a2f25 (patch)
tree2c880fe01d1e42207172999c43355b8b4e7926f2 /TAO/TAO_IDL/be/be_visitor_traits.cpp
parent39625dbd1401b95e3a8509c4cfd8ecb61d083a76 (diff)
downloadATCD-99f4135b6b3df57957fbafdfd0492685a80a2f25.tar.gz
ChangeLogTag: Fri Nov 28 21:39:53 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_traits.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_traits.cpp64
1 files changed, 63 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_traits.cpp b/TAO/TAO_IDL/be/be_visitor_traits.cpp
index 3021f4ae393..9e32cb8dcea 100644
--- a/TAO/TAO_IDL/be/be_visitor_traits.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_traits.cpp
@@ -24,6 +24,10 @@
#include "be_eventtype_fwd.h"
#include "be_component.h"
#include "be_component_fwd.h"
+#include "be_field.h"
+#include "be_exception.h"
+#include "be_structure.h"
+#include "be_union.h"
#include "be_array.h"
#include "be_typedef.h"
#include "be_helper.h"
@@ -259,9 +263,67 @@ be_visitor_traits::visit_eventtype_fwd (be_eventtype_fwd *node)
}
int
+be_visitor_traits::visit_field (be_field *node)
+{
+ be_type *ft = be_type::narrow_from_decl (node->field_type ());
+
+ if (ft->accept (this) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_traits::"
+ "visit_field - visit field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_traits::visit_exception (be_exception *node)
+{
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_traits::"
+ "visit_exception - visit scope failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_traits::visit_struct (be_structure *node)
+{
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_traits::"
+ "visit_struct - visit scope failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_traits::visit_union (be_union *node)
+{
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_traits::"
+ "visit_union - visit scope failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
be_visitor_traits::visit_array (be_array *node)
{
- if (node->cli_traits_gen ())
+ if (node->imported () || node->cli_traits_gen ())
{
return 0;
}