diff options
author | gmaxey <gmaxey@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-06-20 19:47:55 +0000 |
---|---|---|
committer | gmaxey <gmaxey@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-06-20 19:47:55 +0000 |
commit | d0e3ff720ce0d2136c935188b2b5832b1901764b (patch) | |
tree | 161147fb79d9280d05c26b5204eb8785c00167af /TAO/TAO_IDL/be/be_visitor_module | |
parent | 88cbe97c5a6902d5fba24ce5d7b11946f0c77564 (diff) | |
download | ATCD-d0e3ff720ce0d2136c935188b2b5832b1901764b.tar.gz |
ChangeLogTag: Mon Jun 20 12:21:00 2005 Gary Maxey <gary.maxey@hp.com>
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_module')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_module/module.cpp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_module/module.cpp b/TAO/TAO_IDL/be/be_visitor_module/module.cpp index 63b77f32816..b74882667d9 100644 --- a/TAO/TAO_IDL/be/be_visitor_module/module.cpp +++ b/TAO/TAO_IDL/be/be_visitor_module/module.cpp @@ -468,6 +468,81 @@ be_visitor_module::visit_interface_fwd (be_interface_fwd *node) } int +be_visitor_module::visit_valuebox (be_valuebox *node) +{ + // Instantiate a visitor context with a copy of our context. This info + // will be modified based on what type of node we are visiting. + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + int status = 0; + + switch (this->ctx_->state ()) + { + case TAO_CodeGen::TAO_ROOT_CH: + { + be_visitor_valuebox_ch visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CI: + { + be_visitor_valuebox_ci visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CS: + { + be_visitor_valuebox_cs visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CDR_OP_CH: + { + be_visitor_valuebox_cdr_op_ch visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CDR_OP_CS: + { + be_visitor_valuebox_cdr_op_cs visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_ANY_OP_CH: + { + be_visitor_valuebox_any_op_ch visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_ANY_OP_CS: + { + be_visitor_valuebox_any_op_cs visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_SH: + case TAO_CodeGen::TAO_ROOT_SI: + case TAO_CodeGen::TAO_ROOT_SS: + { + break; + } + default: + return 0; // nothing to do. + } + + if (status == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_module::" + "visit_valuebox - " + "failed to accept visitor\n"), + -1); + } + + return 0; +} + +int be_visitor_module::visit_valuetype (be_valuetype *node) { // Instantiate a visitor context with a copy of our context. This info |