diff options
author | gokhale <gokhale@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-08-27 13:27:37 +0000 |
---|---|---|
committer | gokhale <gokhale@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-08-27 13:27:37 +0000 |
commit | c288bf3f5a8c31fd72df26a91ba901fa1939ed07 (patch) | |
tree | cbe9dd254d7c6a1ceb0ff30fd874182acc6da8f7 /TAO/TAO_IDL/be/be_visitor_module | |
parent | dac0e7f20ecbbf6a8949681ff8ced94e10ec759f (diff) | |
download | ATCD-c288bf3f5a8c31fd72df26a91ba901fa1939ed07.tar.gz |
*** empty log message ***
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_module')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_module/cdr_op.cpp | 56 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_module/module.cpp | 40 |
2 files changed, 96 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_module/cdr_op.cpp b/TAO/TAO_IDL/be/be_visitor_module/cdr_op.cpp new file mode 100644 index 00000000000..4059e2f0f05 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_module/cdr_op.cpp @@ -0,0 +1,56 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// cdr_op.cpp +// +// = DESCRIPTION +// Visitor generating code for the CDR operators for types defined in Module's +// scope. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#include "idl.h" +#include "idl_extern.h" +#include "be.h" + +#include "be_visitor_module.h" + +ACE_RCSID(be_visitor_module, cdr_op, "$Id") + + +// *************************************************************************** +// Module visitor for generating CDR operator declarations in the client header +// and stub +// *************************************************************************** + +be_visitor_module_cdr_op::be_visitor_module_cdr_op (be_visitor_context *ctx) + : be_visitor_module (ctx) +{ +} + +be_visitor_module_cdr_op::~be_visitor_module_cdr_op (void) +{ +} + +int +be_visitor_module_cdr_op::visit_module (be_module *node) +{ + // all we have to do is to visit the scope and generate code + if (this->visit_scope (node) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_module_cdr_op::visit_module - " + "codegen for scope failed\n"), -1); + } + return 0; +} diff --git a/TAO/TAO_IDL/be/be_visitor_module/module.cpp b/TAO/TAO_IDL/be/be_visitor_module/module.cpp index 19f207eac6e..763507149ff 100644 --- a/TAO/TAO_IDL/be/be_visitor_module/module.cpp +++ b/TAO/TAO_IDL/be/be_visitor_module/module.cpp @@ -79,6 +79,8 @@ be_visitor_module::visit_constant (be_constant *node) break; case TAO_CodeGen::TAO_MODULE_ANY_OP_CH: case TAO_CodeGen::TAO_MODULE_ANY_OP_CS: + case TAO_CodeGen::TAO_MODULE_CDR_OP_CH: + case TAO_CodeGen::TAO_MODULE_CDR_OP_CS: case TAO_CodeGen::TAO_MODULE_CI: case TAO_CodeGen::TAO_MODULE_SH: case TAO_CodeGen::TAO_MODULE_SI: @@ -145,6 +147,12 @@ be_visitor_module::visit_enum (be_enum *node) case TAO_CodeGen::TAO_MODULE_ANY_OP_CS: ctx.state (TAO_CodeGen::TAO_ENUM_ANY_OP_CS); break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CH: + ctx.state (TAO_CodeGen::TAO_ENUM_CDR_OP_CH); + break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CS: + ctx.state (TAO_CodeGen::TAO_ENUM_CDR_OP_CS); + break; case TAO_CodeGen::TAO_MODULE_CI: case TAO_CodeGen::TAO_MODULE_SH: case TAO_CodeGen::TAO_MODULE_SI: @@ -214,6 +222,12 @@ be_visitor_module::visit_exception (be_exception *node) case TAO_CodeGen::TAO_MODULE_ANY_OP_CS: ctx.state (TAO_CodeGen::TAO_EXCEPTION_ANY_OP_CS); break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CH: + ctx.state (TAO_CodeGen::TAO_EXCEPTION_CDR_OP_CH); + break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CS: + ctx.state (TAO_CodeGen::TAO_EXCEPTION_CDR_OP_CS); + break; case TAO_CodeGen::TAO_MODULE_SH: case TAO_CodeGen::TAO_MODULE_SI: case TAO_CodeGen::TAO_MODULE_SS: @@ -291,6 +305,12 @@ be_visitor_module::visit_interface (be_interface *node) case TAO_CodeGen::TAO_MODULE_ANY_OP_CS: ctx.state (TAO_CodeGen::TAO_INTERFACE_ANY_OP_CS); break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CH: + ctx.state (TAO_CodeGen::TAO_INTERFACE_CDR_OP_CH); + break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CS: + ctx.state (TAO_CodeGen::TAO_INTERFACE_CDR_OP_CS); + break; default: { ACE_ERROR_RETURN ((LM_ERROR, @@ -348,6 +368,8 @@ be_visitor_module::visit_interface_fwd (be_interface_fwd *node) break; case TAO_CodeGen::TAO_MODULE_ANY_OP_CH: case TAO_CodeGen::TAO_MODULE_ANY_OP_CS: + case TAO_CodeGen::TAO_MODULE_CDR_OP_CH: + case TAO_CodeGen::TAO_MODULE_CDR_OP_CS: case TAO_CodeGen::TAO_MODULE_CS: case TAO_CodeGen::TAO_MODULE_SH: case TAO_CodeGen::TAO_MODULE_SI: @@ -417,6 +439,12 @@ be_visitor_module::visit_structure (be_structure *node) case TAO_CodeGen::TAO_MODULE_ANY_OP_CS: ctx.state (TAO_CodeGen::TAO_STRUCT_ANY_OP_CS); break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CH: + ctx.state (TAO_CodeGen::TAO_STRUCT_CDR_OP_CH); + break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CS: + ctx.state (TAO_CodeGen::TAO_STRUCT_CDR_OP_CS); + break; case TAO_CodeGen::TAO_MODULE_SH: case TAO_CodeGen::TAO_MODULE_SI: case TAO_CodeGen::TAO_MODULE_SS: @@ -485,6 +513,12 @@ be_visitor_module::visit_union (be_union *node) case TAO_CodeGen::TAO_MODULE_ANY_OP_CS: ctx.state (TAO_CodeGen::TAO_UNION_ANY_OP_CS); break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CH: + ctx.state (TAO_CodeGen::TAO_UNION_CDR_OP_CH); + break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CS: + ctx.state (TAO_CodeGen::TAO_UNION_CDR_OP_CS); + break; case TAO_CodeGen::TAO_MODULE_SH: case TAO_CodeGen::TAO_MODULE_SI: case TAO_CodeGen::TAO_MODULE_SS: @@ -553,6 +587,12 @@ be_visitor_module::visit_typedef (be_typedef *node) case TAO_CodeGen::TAO_MODULE_ANY_OP_CS: ctx.state (TAO_CodeGen::TAO_TYPEDEF_ANY_OP_CS); break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CH: + ctx.state (TAO_CodeGen::TAO_TYPEDEF_CDR_OP_CH); + break; + case TAO_CodeGen::TAO_MODULE_CDR_OP_CS: + ctx.state (TAO_CodeGen::TAO_TYPEDEF_CDR_OP_CS); + break; case TAO_CodeGen::TAO_MODULE_SH: case TAO_CodeGen::TAO_MODULE_SI: case TAO_CodeGen::TAO_MODULE_SS: |