summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-05 18:18:29 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-05 18:18:29 +0000
commitd9ef5f45884c7cd0a9b2a6b579c2dcddcbefff00 (patch)
treeffa020a6cfb82dbc8ae4356eb7e9e12b60a797a6
parent293c63f80563da5285de0440bc8b0289ff3f092a (diff)
downloadATCD-d9ef5f45884c7cd0a9b2a6b579c2dcddcbefff00.tar.gz
ChangeLogTag: Fri Apr 5 12:10:38 2002 Jeff Parsons <parsons@cs.wustl.edu>
-rw-r--r--TAO/TAO_IDL/be/be_visitor_exception/any_op_ch.cpp76
-rw-r--r--TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp76
-rw-r--r--TAO/TAO_IDL/be/be_visitor_structure/any_op_ch.cpp47
-rw-r--r--TAO/TAO_IDL/be/be_visitor_structure/any_op_cs.cpp47
-rw-r--r--TAO/TAO_IDL/be/be_visitor_union/any_op_ch.cpp51
-rw-r--r--TAO/TAO_IDL/be/be_visitor_union/any_op_cs.cpp47
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_exception.h4
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_exception/any_op_ch.h9
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_exception/any_op_cs.h9
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_structure.h2
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_structure/any_op_ch.h6
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_structure/any_op_cs.h6
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_union.h2
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_union/any_op_ch.h8
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_union/any_op_cs.h11
15 files changed, 383 insertions, 18 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_exception/any_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_exception/any_op_ch.cpp
index f13c8cd3a70..996f9714687 100644
--- a/TAO/TAO_IDL/be/be_visitor_exception/any_op_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_exception/any_op_ch.cpp
@@ -85,10 +85,9 @@ be_visitor_exception_any_op_ch::visit_exception (be_exception *node)
int
be_visitor_exception_any_op_ch::visit_field (be_field *node)
{
- be_type *bt; // field's type
+ // First generate the type information.
+ be_type *bt = be_type::narrow_from_decl (node->field_type ());
- // first generate the type information
- bt = be_type::narrow_from_decl (node->field_type ());
if (!bt)
{
ACE_ERROR_RETURN ((LM_ERROR,
@@ -106,5 +105,76 @@ be_visitor_exception_any_op_ch::visit_field (be_field *node)
"codegen for field type failed\n"),
-1);
}
+
+ return 0;
+}
+
+int
+be_visitor_exception_any_op_ch::visit_enum (be_enum *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_enum_any_op_ch visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_exception_any_op_ch::"
+ "visit_enum - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
return 0;
}
+
+int
+be_visitor_exception_any_op_ch::visit_structure (be_structure *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_structure_any_op_ch visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_exception_any_op_ch::"
+ "visit_structure - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_exception_any_op_ch::visit_union (be_union *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_union_any_op_ch visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_exception_any_op_ch::"
+ "visit_union - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
diff --git a/TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp
index a85dd886497..e5289aa8d14 100644
--- a/TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp
@@ -269,10 +269,8 @@ be_visitor_exception_any_op_cs::visit_exception (be_exception *node)
int
be_visitor_exception_any_op_cs::visit_field (be_field *node)
{
- be_type *bt; // field's type
-
- // first generate the type information
- bt = be_type::narrow_from_decl (node->field_type ());
+ // First generate the type information.
+ be_type *bt = be_type::narrow_from_decl (node->field_type ());
if (!bt)
{
@@ -294,3 +292,73 @@ be_visitor_exception_any_op_cs::visit_field (be_field *node)
return 0;
}
+
+int
+be_visitor_exception_any_op_cs::visit_enum (be_enum *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_enum_any_op_cs visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_exception_any_op_cs::"
+ "visit_enum - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_exception_any_op_cs::visit_structure (be_structure *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_structure_any_op_cs visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_exception_any_op_cs::"
+ "visit_structure - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_exception_any_op_cs::visit_union (be_union *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_union_any_op_cs visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_exception_any_op_cs::"
+ "visit_union - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
diff --git a/TAO/TAO_IDL/be/be_visitor_structure/any_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_structure/any_op_ch.cpp
index b31ad3cf4b7..ccade4c7415 100644
--- a/TAO/TAO_IDL/be/be_visitor_structure/any_op_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_structure/any_op_ch.cpp
@@ -110,3 +110,50 @@ be_visitor_structure_any_op_ch::visit_field (be_field *node)
return 0;
}
+
+int
+be_visitor_structure_any_op_ch::visit_union (be_union *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_union_any_op_ch visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_structure_any_op_ch::"
+ "visit_union - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_structure_any_op_ch::visit_enum (be_enum *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_enum_any_op_ch visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_structure_any_op_ch::"
+ "visit_enum - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
diff --git a/TAO/TAO_IDL/be/be_visitor_structure/any_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_structure/any_op_cs.cpp
index eb799dfc6d9..0f17e8aaf8d 100644
--- a/TAO/TAO_IDL/be/be_visitor_structure/any_op_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_structure/any_op_cs.cpp
@@ -286,3 +286,50 @@ be_visitor_structure_any_op_cs::visit_field (be_field *node)
return 0;
}
+
+int
+be_visitor_structure_any_op_cs::visit_union (be_union *node)
+{
+ if (node->cli_stub_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_union_any_op_cs visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_structure_any_op_cs::"
+ "visit_union - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_structure_any_op_cs::visit_enum (be_enum *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_enum_any_op_cs visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_structure_any_op_cs::"
+ "visit_enum - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
diff --git a/TAO/TAO_IDL/be/be_visitor_union/any_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_union/any_op_ch.cpp
index f0b3126ca7f..3c5a274d353 100644
--- a/TAO/TAO_IDL/be/be_visitor_union/any_op_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_union/any_op_ch.cpp
@@ -85,10 +85,8 @@ be_visitor_union_any_op_ch::visit_union (be_union *node)
int
be_visitor_union_any_op_ch::visit_union_branch (be_union_branch *node)
{
- be_type *bt;
-
// First generate the type information.
- bt = be_type::narrow_from_decl (node->field_type ());
+ be_type *bt = be_type::narrow_from_decl (node->field_type ());
if (!bt)
{
@@ -110,3 +108,50 @@ be_visitor_union_any_op_ch::visit_union_branch (be_union_branch *node)
return 0;
}
+
+int
+be_visitor_union_any_op_ch::visit_enum (be_enum *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_enum_any_op_ch visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_any_op_ch::"
+ "visit_enum - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_union_any_op_ch::visit_structure (be_structure *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_structure_any_op_ch visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_any_op_ch::"
+ "visit_structure - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
diff --git a/TAO/TAO_IDL/be/be_visitor_union/any_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_union/any_op_cs.cpp
index 8775d363bcd..7d1f3b73b84 100644
--- a/TAO/TAO_IDL/be/be_visitor_union/any_op_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_union/any_op_cs.cpp
@@ -286,3 +286,50 @@ be_visitor_union_any_op_cs::visit_union_branch (be_union_branch *node)
return 0;
}
+
+int
+be_visitor_union_any_op_cs::visit_enum (be_enum *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_enum_any_op_cs visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_any_op_cs::"
+ "visit_enum - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_union_any_op_cs::visit_structure (be_structure *node)
+{
+ if (node->cli_hdr_any_op_gen ()
+ || node->imported ())
+ {
+ return 0;
+ }
+
+ be_visitor_structure_any_op_cs visitor (this->ctx_);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_any_op_cs::"
+ "visit_structure - "
+ "codegen for field type failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
diff --git a/TAO/TAO_IDL/be_include/be_visitor_exception.h b/TAO/TAO_IDL/be_include/be_visitor_exception.h
index 64c85361e1a..8de0ab1aea0 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_exception.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_exception.h
@@ -24,6 +24,10 @@
#include "be_visitor.h"
#include "be_visitor_scope.h"
+#include "be_visitor_enum.h"
+#include "be_visitor_structure.h"
+#include "be_visitor_union.h"
+
#include "be_visitor_exception/exception.h"
#include "be_visitor_exception/exception_ch.h"
#include "be_visitor_exception/exception_ci.h"
diff --git a/TAO/TAO_IDL/be_include/be_visitor_exception/any_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_exception/any_op_ch.h
index ee3ff396dc1..f027af57be9 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_exception/any_op_ch.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_exception/any_op_ch.h
@@ -46,6 +46,15 @@ public:
virtual int visit_field (be_field *node);
// visit field
+
+ virtual int visit_enum (be_enum *node);
+ // visit field
+
+ virtual int visit_structure (be_structure *node);
+ // visit field
+
+ virtual int visit_union (be_union *node);
+ // visit field
};
#endif /* _BE_VISITOR_EXCEPTION_ANY_OP_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_exception/any_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_exception/any_op_cs.h
index 45a82cb7e23..6055997d1cb 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_exception/any_op_cs.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_exception/any_op_cs.h
@@ -46,6 +46,15 @@ public:
virtual int visit_field (be_field *node);
// visit field
+
+ virtual int visit_enum (be_enum *node);
+ // visit field
+
+ virtual int visit_structure (be_structure *node);
+ // visit field
+
+ virtual int visit_union (be_union *node);
+ // visit field
};
#endif /* _BE_VISITOR_EXCEPTION_ANY_OP_CS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_structure.h b/TAO/TAO_IDL/be_include/be_visitor_structure.h
index b3decadc89e..09753ea11a1 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_structure.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_structure.h
@@ -24,6 +24,8 @@
#include "be_visitor.h"
#include "be_visitor_scope.h"
+#include "be_visitor_union.h"
+#include "be_visitor_enum.h"
// generic visitor
#include "be_visitor_structure/structure.h"
diff --git a/TAO/TAO_IDL/be_include/be_visitor_structure/any_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_structure/any_op_ch.h
index 935a74aedc8..d62c610d4eb 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_structure/any_op_ch.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_structure/any_op_ch.h
@@ -47,6 +47,12 @@ public:
virtual int visit_field (be_field *node);
// visit field
+
+ virtual int visit_union (be_union *node);
+ // visit union
+
+ virtual int visit_enum (be_enum *node);
+ // visit field
};
#endif /* _BE_VISITOR_STRUCTURE_ANY_OP_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_structure/any_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_structure/any_op_cs.h
index 65829b3ff15..217d8e611ba 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_structure/any_op_cs.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_structure/any_op_cs.h
@@ -47,6 +47,12 @@ public:
virtual int visit_field (be_field *node);
// visit field
+
+ virtual int visit_union (be_union *node);
+ // visit field
+
+ virtual int visit_enum (be_enum *node);
+ // visit field
};
#endif /* _BE_VISITOR_STRUCTURE_ANY_OP_CS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_union.h b/TAO/TAO_IDL/be_include/be_visitor_union.h
index 2d3489a5798..1b63d3eb44d 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_union.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_union.h
@@ -24,6 +24,8 @@
#include "be_visitor.h"
#include "be_visitor_scope.h"
+#include "be_visitor_enum.h"
+#include "be_visitor_structure.h"
// generic visitor
#include "be_visitor_union/union.h"
diff --git a/TAO/TAO_IDL/be_include/be_visitor_union/any_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_union/any_op_ch.h
index 20d7ed97b4f..be2dae30ded 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_union/any_op_ch.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_union/any_op_ch.h
@@ -37,16 +37,16 @@ class be_visitor_union_any_op_ch : public be_visitor_union
public:
be_visitor_union_any_op_ch (be_visitor_context *ctx);
- // constructor
~be_visitor_union_any_op_ch (void);
- // destructor
virtual int visit_union (be_union *node);
- // visit union
virtual int visit_union_branch (be_union_branch *node);
- // visit union_branch
+
+ virtual int visit_enum (be_enum *node);
+
+ virtual int visit_structure (be_structure *node);
};
#endif /* _BE_VISITOR_UNION_ANY_OP_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_union/any_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_union/any_op_cs.h
index 0d16aefd684..6f7bef92ca0 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_union/any_op_cs.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_union/any_op_cs.h
@@ -37,13 +37,16 @@ class be_visitor_union_any_op_cs : public be_visitor_union
public:
be_visitor_union_any_op_cs (be_visitor_context *ctx);
- // constructor
~be_visitor_union_any_op_cs (void);
- // destructor
- // = The be_visitor methods.
virtual int visit_union (be_union *node);
- virtual int visit_union_branch (be_union_branch *node);};
+
+ virtual int visit_union_branch (be_union_branch *node);
+
+ virtual int visit_enum (be_enum *node);
+
+ virtual int visit_structure (be_structure *node);
+};
#endif /* _BE_VISITOR_UNION_ANY_OP_CS_H_ */