diff options
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.cpp | 76 |
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; +} + |