summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp76
1 files changed, 72 insertions, 4 deletions
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;
+}
+