diff options
author | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-05-10 20:52:46 +0000 |
---|---|---|
committer | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-05-10 20:52:46 +0000 |
commit | 8106ea1d9086cb17eabe748f3ff9e2cf54dfe3b3 (patch) | |
tree | be85e81fc3d095096de97257ce22aab45e3d4a58 /TAO/TAO_IDL/be | |
parent | 73344b57d62f785899c966d7cf81c70029918ebe (diff) | |
download | ATCD-8106ea1d9086cb17eabe748f3ff9e2cf54dfe3b3.tar.gz |
ChangeLogTag:Wed May 10 15:44:23 2000 Nanbor Wang <nanbor@cs.wustl.edu>
Diffstat (limited to 'TAO/TAO_IDL/be')
35 files changed, 192 insertions, 274 deletions
diff --git a/TAO/TAO_IDL/be/be_array.cpp b/TAO/TAO_IDL/be/be_array.cpp index 3d299062f36..7eb49d2fe58 100644 --- a/TAO/TAO_IDL/be/be_array.cpp +++ b/TAO/TAO_IDL/be/be_array.cpp @@ -33,9 +33,14 @@ be_array::be_array (void) { } -be_array::be_array (UTL_ScopedName *n, unsigned long ndims, UTL_ExprList *dims) - : AST_Array (n, ndims, dims), +be_array::be_array (UTL_ScopedName *n, + unsigned long ndims, + UTL_ExprList *dims, + idl_bool local, + idl_bool abstract) + : AST_Array (n, ndims, dims, local, abstract), AST_Decl (AST_Decl::NT_array, n, NULL), + COMMON_Base (local, abstract), tao_name_ (0) { } diff --git a/TAO/TAO_IDL/be/be_attribute.cpp b/TAO/TAO_IDL/be/be_attribute.cpp index f2a399b9f70..c14b4a2d366 100644 --- a/TAO/TAO_IDL/be/be_attribute.cpp +++ b/TAO/TAO_IDL/be/be_attribute.cpp @@ -19,9 +19,9 @@ // // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" ACE_RCSID(be, be_attribute, "$Id$") @@ -34,11 +34,16 @@ be_attribute::be_attribute (void) { } -be_attribute::be_attribute (idl_bool ro, AST_Type *ft, UTL_ScopedName *n, - UTL_StrList *p) - : AST_Attribute (ro, ft, n, p), +be_attribute::be_attribute (idl_bool ro, + AST_Type *ft, + UTL_ScopedName *n, + UTL_StrList *p, + idl_bool local, + idl_bool abstract) + : AST_Attribute (ro, ft, n, p, local, abstract), AST_Field (AST_Decl::NT_attr, ft, n, p), AST_Decl (AST_Decl::NT_attr, n, p), + COMMON_Base (local, abstract), get_strategy_ (new be_operation_default_strategy (0)), set_strategy_ (new be_operation_default_strategy (0)) { diff --git a/TAO/TAO_IDL/be/be_exception.cpp b/TAO/TAO_IDL/be/be_exception.cpp index 7de0b3cdfe9..e4d1db32990 100644 --- a/TAO/TAO_IDL/be/be_exception.cpp +++ b/TAO/TAO_IDL/be/be_exception.cpp @@ -41,47 +41,11 @@ be_exception::be_exception (UTL_ScopedName *n, : AST_Decl (AST_Decl::NT_except, n, p), AST_Structure (AST_Decl::NT_except, n, p, local, abstract), UTL_Scope (AST_Decl::NT_except), - COMMON_Base (local, abstract), - member_count_ (-1) + COMMON_Base (local, abstract) { this->size_type (be_decl::VARIABLE); // always the case } -// compute total number of members -int -be_exception::compute_member_count (void) -{ - UTL_ScopeActiveIterator *si; // iterator - - this->member_count_ = 0; - - // if there are elements in this scope - if (this->nmembers () > 0) - { - // instantiate a scope iterator. - si = new UTL_ScopeActiveIterator (this, UTL_Scope::IK_decls); - - while (!(si->is_done ())) - { - // get the next AST decl node - this->member_count_++; - si->next (); - } // end of while - delete si; // free the iterator object - } - return 0; -} - -// return the member count -int -be_exception::member_count (void) -{ - if (this->member_count_ == -1) - this->compute_member_count (); - - return this->member_count_; -} - // Are we or the parameter node involved in any recursion idl_bool be_exception::in_recursion (be_type *node) diff --git a/TAO/TAO_IDL/be/be_field.cpp b/TAO/TAO_IDL/be/be_field.cpp index e0db61e127f..379bf29f363 100644 --- a/TAO/TAO_IDL/be/be_field.cpp +++ b/TAO/TAO_IDL/be/be_field.cpp @@ -34,7 +34,8 @@ be_field::be_field (void) be_field::be_field (AST_Type *ft, UTL_ScopedName *n, UTL_StrList *p, Visibility vis) : AST_Field (ft, n, p, vis), - AST_Decl (AST_Decl::NT_field, n, p) + AST_Decl (AST_Decl::NT_field, n, p), + COMMON_Base (ft->is_local (), ft->is_abstract ()) { } diff --git a/TAO/TAO_IDL/be/be_generator.cpp b/TAO/TAO_IDL/be/be_generator.cpp index 132b4b8828a..eb828868fcc 100644 --- a/TAO/TAO_IDL/be/be_generator.cpp +++ b/TAO/TAO_IDL/be/be_generator.cpp @@ -236,16 +236,17 @@ be_generator::create_interface_fwd (UTL_ScopedName *n, idl_bool local, idl_bool abstract) { - return (AST_InterfaceFwd *) new be_interface_fwd (this->create_interface (n, - 0, - -1, - 0, - 0, - p, - local, - abstract), - n, - p); + return + (AST_InterfaceFwd *) new be_interface_fwd (this->create_interface (n, + 0, + -1, + 0, + 0, + p, + local, + abstract), + n, + p); } /* @@ -329,17 +330,26 @@ AST_Operation * be_generator::create_operation(AST_Type *rt, AST_Operation::Flags fl, UTL_ScopedName *n, - UTL_StrList *p) + UTL_StrList *p, + idl_bool local, + idl_bool abstract) { - return (AST_Operation *) new be_operation(rt, fl, n, p); + return (AST_Operation *) new be_operation(rt, + fl, + n, + p, + local, + abstract); } /* * Create a BE_Field node */ AST_Field * -be_generator::create_field(AST_Type *ft, UTL_ScopedName *n, UTL_StrList *p, - AST_Field::Visibility vis) +be_generator::create_field(AST_Type *ft, + UTL_ScopedName *n, + UTL_StrList *p, + AST_Field::Visibility vis) { return (AST_Field *) new be_field(ft, n, p, vis); } @@ -363,9 +373,16 @@ AST_Attribute * be_generator::create_attribute(idl_bool ro, AST_Type *ft, UTL_ScopedName *n, - UTL_StrList *p) + UTL_StrList *p, + idl_bool local, + idl_bool abstract) { - return (AST_Attribute *) new be_attribute(ro, ft, n, p); + return (AST_Attribute *) new be_attribute(ro, + ft, + n, + p, + local, + abstract); } /* @@ -537,9 +554,15 @@ be_generator::create_enum_val(unsigned long v, AST_Array * be_generator::create_array(UTL_ScopedName *n, unsigned long ndims, - UTL_ExprList *dims) + UTL_ExprList *dims, + idl_bool local, + idl_bool abstract) { - return (AST_Array *) new be_array(n, ndims, dims); + return (AST_Array *) new be_array(n, + ndims, + dims, + local, + abstract); } /* diff --git a/TAO/TAO_IDL/be/be_operation.cpp b/TAO/TAO_IDL/be/be_operation.cpp index 3020dc22673..9e1e3fef24f 100644 --- a/TAO/TAO_IDL/be/be_operation.cpp +++ b/TAO/TAO_IDL/be/be_operation.cpp @@ -19,9 +19,9 @@ // // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" ACE_RCSID(be, be_operation, "$Id$") @@ -35,11 +35,16 @@ be_operation::be_operation (void) { } -be_operation::be_operation (AST_Type *rt, AST_Operation::Flags fl, - UTL_ScopedName *n, UTL_StrList *p) - : AST_Operation (rt, fl, n, p), +be_operation::be_operation (AST_Type *rt, + AST_Operation::Flags fl, + UTL_ScopedName *n, + UTL_StrList *p, + idl_bool local, + idl_bool abstract) + : AST_Operation (rt, fl, n, p, local, abstract), AST_Decl (AST_Decl::NT_op, n, p), UTL_Scope (AST_Decl::NT_op), + COMMON_Base (local, abstract), argument_count_ (-1), has_native_ (0), strategy_ (new be_operation_default_strategy (this)) @@ -69,15 +74,15 @@ be_operation::compute_argument_attr (void) { // instantiate a scope iterator. UTL_ScopeActiveIterator *si = - new UTL_ScopeActiveIterator (this, UTL_Scope::IK_decls); + new UTL_ScopeActiveIterator (this, UTL_Scope::IK_decls); while (!(si->is_done ())) { // get the next AST decl node - AST_Decl *d = si->item (); + AST_Decl *d = si->item (); if (d->node_type () == AST_Decl::NT_argument) - { + { this->argument_count_++; be_argument *arg = be_argument::narrow_from_decl (d); be_type* type = @@ -99,7 +104,7 @@ be_operation::compute_argument_attr (void) } -int +int be_operation::void_return_type () { be_type* type = be_type::narrow_from_decl (this->return_type ()); @@ -199,7 +204,7 @@ TAO_CodeGen::CG_STATE be_operation::next_state (TAO_CodeGen::CG_STATE current_state, int is_extra_state) { - return this->strategy_->next_state (current_state, is_extra_state); + return this->strategy_->next_state (current_state, is_extra_state); } int diff --git a/TAO/TAO_IDL/be/be_structure.cpp b/TAO/TAO_IDL/be/be_structure.cpp index ee43f3e90d6..4a21b786284 100644 --- a/TAO/TAO_IDL/be/be_structure.cpp +++ b/TAO/TAO_IDL/be/be_structure.cpp @@ -39,48 +39,10 @@ be_structure::be_structure (UTL_ScopedName *n, idl_bool abstract) : AST_Decl (AST_Decl::NT_struct, n, p), UTL_Scope (AST_Decl::NT_struct), - COMMON_Base (local, abstract), - member_count_ (-1) + COMMON_Base (local, abstract) { } -// compute total number of members -int -be_structure::compute_member_count (void) -{ - UTL_ScopeActiveIterator *si; // iterator - - this->member_count_ = 0; - - // if there are elements in this scope - if (this->nmembers () > 0) - { - // instantiate a scope iterator. - si = new UTL_ScopeActiveIterator (this, - UTL_Scope::IK_decls); - - while (!(si->is_done ())) - { - this->member_count_++; - si->next (); - } // end of while - - delete si; // free the iterator object - } - - return 0; -} - -// return the member count -int -be_structure::member_count (void) -{ - if (this->member_count_ == -1) - this->compute_member_count (); - - return this->member_count_; -} - // generate the _var definition for ourself int be_structure::gen_var_defn (char *) diff --git a/TAO/TAO_IDL/be/be_typedef.cpp b/TAO/TAO_IDL/be/be_typedef.cpp index 0f978f30de8..aaefcccf9c2 100644 --- a/TAO/TAO_IDL/be/be_typedef.cpp +++ b/TAO/TAO_IDL/be/be_typedef.cpp @@ -19,9 +19,9 @@ // // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" ACE_RCSID(be, be_typedef, "$Id$") @@ -35,7 +35,7 @@ be_typedef::be_typedef (AST_Type *bt, UTL_StrList *p, idl_bool local, idl_bool abstract) - : AST_Typedef (bt, n, p, local, abstract), + : AST_Typedef (bt, n, p, bt->is_local () || local, abstract), AST_Decl (AST_Decl::NT_typedef, n, p), COMMON_Base (local, abstract) { diff --git a/TAO/TAO_IDL/be/be_union.cpp b/TAO/TAO_IDL/be/be_union.cpp index 73a8a843105..e6a8cf60ab7 100644 --- a/TAO/TAO_IDL/be/be_union.cpp +++ b/TAO/TAO_IDL/be/be_union.cpp @@ -45,7 +45,6 @@ be_union::be_union (AST_ConcreteType *dt, AST_Decl (AST_Decl::NT_union, n, p), UTL_Scope (AST_Decl::NT_union), COMMON_Base (local, abstract), - member_count_ (-1), default_index_ (-2) { this->default_value_.computed_ = -2; @@ -54,31 +53,6 @@ be_union::be_union (AST_ConcreteType *dt, // compute total number of members int -be_union::compute_member_count (void) -{ - UTL_ScopeActiveIterator *si; // iterator - - this->member_count_ = 0; - - // if there are elements in this scope - if (this->nmembers () > 0) - { - // instantiate a scope iterator. - si = new UTL_ScopeActiveIterator (this, - UTL_Scope::IK_decls); - - while (!(si->is_done ())) - { - this->member_count_++; - si->next (); - } // end of while - delete si; // free the iterator object - } - return 0; -} - -// compute total number of members -int be_union::compute_default_index (void) { UTL_ScopeActiveIterator *si; // iterator @@ -122,16 +96,6 @@ be_union::compute_default_index (void) return 0; } -// return the member count -int -be_union::member_count (void) -{ - if (this->member_count_ == -1) - this->compute_member_count (); - - return this->member_count_; -} - // return the default_index int be_union::default_index (void) diff --git a/TAO/TAO_IDL/be/be_union_branch.cpp b/TAO/TAO_IDL/be/be_union_branch.cpp index 620185d6920..1c45b78dda8 100644 --- a/TAO/TAO_IDL/be/be_union_branch.cpp +++ b/TAO/TAO_IDL/be/be_union_branch.cpp @@ -19,9 +19,9 @@ // // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" ACE_RCSID(be, be_union_branch, "$Id$") @@ -33,13 +33,14 @@ be_union_branch::be_union_branch (void) { } -be_union_branch::be_union_branch (UTL_LabelList *ll, +be_union_branch::be_union_branch (UTL_LabelList *ll, AST_Type *ft, - UTL_ScopedName *n, + UTL_ScopedName *n, UTL_StrList *p) : AST_UnionBranch (ll, ft, n, p), AST_Field (AST_Decl::NT_union_branch, ft, n, p), - AST_Decl (AST_Decl::NT_union_branch, n, p) + AST_Decl (AST_Decl::NT_union_branch, n, p), + COMMON_Base (ft->is_local (), ft->is_abstract ()) { } diff --git a/TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp b/TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp index 0e41fc0f1d5..9d3b213d645 100644 --- a/TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp +++ b/TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp @@ -528,6 +528,8 @@ be_visitor_ami_pre_proc::create_raise_operation (be_decl *node, be_operation *operation = new be_operation (rt, AST_Operation::OP_noflags, op_name, + 0, + 0, 0); operation->set_name (op_name); operation->set_defined_in (excep_holder); @@ -588,6 +590,8 @@ be_visitor_ami_pre_proc::create_sendc_operation (be_operation *node, be_operation * op = new be_operation (rt, AST_Operation::OP_noflags, op_name, + 0, + 0, 0); // Create the first argument, which is a Reply Handler @@ -720,6 +724,8 @@ be_visitor_ami_pre_proc::create_reply_handler_operation (be_operation *node, be_operation *operation = new be_operation (rt, AST_Operation::OP_noflags, op_name, + 0, + 0, 0); operation->set_name (op_name); @@ -839,15 +845,17 @@ be_visitor_ami_pre_proc::create_excep_operation (be_operation *node, ACE_CString new_op_name = original_op_name + ACE_CString ("_excep"); UTL_ScopedName *op_name = ACE_static_cast (UTL_ScopedName *, reply_handler->name ()-> copy ()); - op_name->nconc (new UTL_ScopedName ( - new Identifier ( - new_op_name.rep (), 1, 0, I_FALSE), - 0)); + op_name->nconc (new UTL_ScopedName + (new Identifier + (new_op_name.rep (), 1, 0, I_FALSE), + 0)); // create the operation be_operation *operation = new be_operation (rt, AST_Operation::OP_noflags, op_name, + 0, + 0, 0); operation->set_name (op_name); operation->add_argument_to_scope (arg); @@ -986,6 +994,8 @@ be_visitor_ami_pre_proc::generate_get_operation (be_attribute *node) new be_operation (node->field_type (), AST_Operation::OP_noflags, get_name, + 0, + 0, 0); operation->set_name (get_name); operation->set_defined_in (node->defined_in ()); @@ -1024,6 +1034,8 @@ be_visitor_ami_pre_proc::generate_set_operation (be_attribute *node) be_operation *operation = new be_operation (rt, AST_Operation::OP_noflags, set_name, + 0, + 0, 0); operation->set_name (set_name); operation->set_defined_in (node->defined_in ()); diff --git a/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp b/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp index c4ebeaef775..0edde660232 100644 --- a/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp +++ b/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp @@ -73,7 +73,9 @@ be_visitor_attribute::visit_attribute (be_attribute *node) be_operation *op = new be_operation (node->field_type (), AST_Operation::OP_noflags, node->name (), - 0); + 0, + node->is_local (), + node->is_abstract ()); op->set_name ((UTL_IdList *) node->name ()->copy ()); op->set_defined_in (node->defined_in ()); @@ -87,12 +89,6 @@ be_visitor_attribute::visit_attribute (be_attribute *node) // exactly the same code except different states. switch (this->ctx_->state ()) { - case TAO_CodeGen::TAO_LOCAL_ATTRIBUTE_H: - ctx.state (TAO_CodeGen::TAO_LOCAL_OPERATION_H); - break; - case TAO_CodeGen::TAO_LOCAL_ATTRIBUTE_S: - ctx.state (TAO_CodeGen::TAO_LOCAL_OPERATION_S); - break; case TAO_CodeGen::TAO_ATTRIBUTE_CH: ctx.state (TAO_CodeGen::TAO_OPERATION_CH); break; @@ -208,7 +204,9 @@ be_visitor_attribute::visit_attribute (be_attribute *node) op = new be_operation (rt, AST_Operation::OP_noflags, node->name (), - 0); + 0, + node->is_local (), + node->is_abstract ()); op->set_name ((UTL_IdList *) node->name ()->copy ()); op->set_defined_in (node->defined_in ()); op->add_argument_to_scope (arg); @@ -225,15 +223,9 @@ be_visitor_attribute::visit_attribute (be_attribute *node) case TAO_CodeGen::TAO_ATTRIBUTE_CH: ctx.state (TAO_CodeGen::TAO_OPERATION_CH); break; - case TAO_CodeGen::TAO_LOCAL_ATTRIBUTE_H: - ctx.state (TAO_CodeGen::TAO_LOCAL_OPERATION_H); - break; case TAO_CodeGen::TAO_ATTRIBUTE_CS: ctx.state (TAO_CodeGen::TAO_OPERATION_CS); break; - case TAO_CodeGen::TAO_LOCAL_ATTRIBUTE_S: - ctx.state (TAO_CodeGen::TAO_LOCAL_OPERATION_S); - break; case TAO_CodeGen::TAO_ATTRIBUTE_SH: ctx.state (TAO_CodeGen::TAO_OPERATION_SH); break; 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 74fd57808b7..19ca3242e47 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 @@ -18,9 +18,9 @@ // // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" #include "be_visitor_exception.h" @@ -44,7 +44,9 @@ be_visitor_exception_any_op_ch::~be_visitor_exception_any_op_ch (void) int be_visitor_exception_any_op_ch::visit_exception (be_exception *node) { - if (node->cli_hdr_any_op_gen () || node->imported ()) + if (node->cli_hdr_any_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); 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 0adeb3c242a..45c68895da9 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 @@ -45,7 +45,9 @@ be_visitor_exception_any_op_cs::~be_visitor_exception_any_op_cs (void) int be_visitor_exception_any_op_cs::visit_exception (be_exception *node) { - if (node->cli_stub_any_op_gen () || node->imported ()) + if (node->cli_stub_any_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); diff --git a/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp index 68e0d6f5c1a..0b1149ebfa9 100644 --- a/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp @@ -19,9 +19,9 @@ // // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" #include "be_visitor_exception.h" @@ -44,7 +44,9 @@ be_visitor_exception_cdr_op_ch::~be_visitor_exception_cdr_op_ch (void) int be_visitor_exception_cdr_op_ch::visit_exception (be_exception *node) { - if (node->cli_hdr_cdr_op_gen () || node->imported ()) + if (node->cli_hdr_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); diff --git a/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ci.cpp b/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ci.cpp index 2df15c83c41..c680b523c51 100644 --- a/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ci.cpp +++ b/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ci.cpp @@ -46,7 +46,9 @@ int be_visitor_exception_cdr_op_ci::visit_exception (be_exception *node) { // already generated and/or we are imported. Don't do anything. - if (node->cli_inline_cdr_op_gen () || node->imported ()) + if (node->cli_inline_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); diff --git a/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp index 22ddc620bcf..fe2f0d85230 100644 --- a/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp @@ -39,7 +39,9 @@ be_visitor_exception_cdr_op_cs::~be_visitor_exception_cdr_op_cs (void) int be_visitor_exception_cdr_op_cs::visit_exception (be_exception *node) { - if (node->cli_stub_cdr_op_gen () || node->imported ()) + if (node->cli_stub_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; // set the substate as generating code for the types defined in our diff --git a/TAO/TAO_IDL/be/be_visitor_factory.cpp b/TAO/TAO_IDL/be/be_visitor_factory.cpp index f4e1adf042b..c47177253dd 100644 --- a/TAO/TAO_IDL/be/be_visitor_factory.cpp +++ b/TAO/TAO_IDL/be/be_visitor_factory.cpp @@ -143,15 +143,12 @@ TAO_Common_Visitor_Factory::make_visitor (be_visitor_context *ctx) return new be_visitor_module_cdr_op (new_ctx); case TAO_CodeGen::TAO_INTERFACE_CH: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: return new be_visitor_interface_ch (new_ctx); case TAO_CodeGen::TAO_INTERFACE_CI: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_I: return new be_visitor_interface_ci (new_ctx); case TAO_CodeGen::TAO_INTERFACE_CS: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: return new be_visitor_interface_cs (new_ctx); case TAO_CodeGen::TAO_INTERFACE_SH: @@ -417,9 +414,7 @@ TAO_Common_Visitor_Factory::make_visitor (be_visitor_context *ctx) return new be_visitor_decl (new_ctx); case TAO_CodeGen::TAO_ATTRIBUTE_CH: - case TAO_CodeGen::TAO_LOCAL_ATTRIBUTE_H: case TAO_CodeGen::TAO_ATTRIBUTE_CS: - case TAO_CodeGen::TAO_LOCAL_ATTRIBUTE_S: case TAO_CodeGen::TAO_ATTRIBUTE_SH: case TAO_CodeGen::TAO_ATTRIBUTE_IH: case TAO_CodeGen::TAO_ATTRIBUTE_SS: @@ -507,10 +502,8 @@ TAO_Compiled_Visitor_Factory::make_visitor (be_visitor_context *ctx) case TAO_CodeGen::TAO_UNION_ANY_OP_CS: return new be_visitor_union_any_op_cs (new_ctx); case TAO_CodeGen::TAO_OPERATION_CH: - case TAO_CodeGen::TAO_LOCAL_OPERATION_H: return new be_visitor_operation_ch (new_ctx); case TAO_CodeGen::TAO_OPERATION_CS: - case TAO_CodeGen::TAO_LOCAL_OPERATION_S: return new be_visitor_operation_cs (new_ctx); case TAO_CodeGen::TAO_OPERATION_SH: return new be_visitor_operation_sh (new_ctx); @@ -562,7 +555,6 @@ TAO_Compiled_Visitor_Factory::make_visitor (be_visitor_context *ctx) return new be_visitor_operation_rettype_assign_ss (new_ctx); case TAO_CodeGen::TAO_OPERATION_ARGLIST_CH: - case TAO_CodeGen::TAO_LOCAL_OPERATION_ARGLIST_H: case TAO_CodeGen::TAO_OPERATION_ARGLIST_SH: case TAO_CodeGen::TAO_OPERATION_ARGLIST_IH: case TAO_CodeGen::TAO_OPERATION_ARGLIST_IS: diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp index 75e3a678f84..b1978a7c830 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp @@ -67,15 +67,9 @@ be_visitor_interface::visit_attribute (be_attribute *node) case TAO_CodeGen::TAO_INTERFACE_CH: ctx.state (TAO_CodeGen::TAO_ATTRIBUTE_CH); break; - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: - ctx.state (TAO_CodeGen::TAO_LOCAL_ATTRIBUTE_H); - break; case TAO_CodeGen::TAO_INTERFACE_CS: ctx.state (TAO_CodeGen::TAO_ATTRIBUTE_CS); break; - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: - ctx.state (TAO_CodeGen::TAO_LOCAL_ATTRIBUTE_S); - break; case TAO_CodeGen::TAO_INTERFACE_SH: ctx.state (TAO_CodeGen::TAO_ATTRIBUTE_SH); break; @@ -169,11 +163,9 @@ be_visitor_interface::visit_constant (be_constant *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_INTERFACE_CH: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: ctx.state (TAO_CodeGen::TAO_CONSTANT_CH); break; case TAO_CodeGen::TAO_INTERFACE_CS: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: ctx.state (TAO_CodeGen::TAO_CONSTANT_CS); break; case TAO_CodeGen::TAO_INTERFACE_ANY_OP_CH: @@ -245,11 +237,9 @@ be_visitor_interface::visit_enum (be_enum *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_INTERFACE_CH: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: ctx.state (TAO_CodeGen::TAO_ENUM_CH); break; case TAO_CodeGen::TAO_INTERFACE_CS: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: ctx.state (TAO_CodeGen::TAO_ENUM_CS); break; case TAO_CodeGen::TAO_INTERFACE_ANY_OP_CH: @@ -331,15 +321,12 @@ be_visitor_interface::visit_exception (be_exception *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_INTERFACE_CH: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: ctx.state (TAO_CodeGen::TAO_EXCEPTION_CH); break; case TAO_CodeGen::TAO_INTERFACE_CI: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_I: ctx.state (TAO_CodeGen::TAO_EXCEPTION_CI); break; case TAO_CodeGen::TAO_INTERFACE_CS: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: ctx.state (TAO_CodeGen::TAO_EXCEPTION_CS); break; case TAO_CodeGen::TAO_INTERFACE_ANY_OP_CH: @@ -426,12 +413,6 @@ be_visitor_interface::visit_operation (be_operation *node) case TAO_CodeGen::TAO_INTERFACE_CS: ctx.state (TAO_CodeGen::TAO_OPERATION_CS); break; - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: - ctx.state (TAO_CodeGen::TAO_LOCAL_OPERATION_H); - break; - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: - ctx.state (TAO_CodeGen::TAO_LOCAL_OPERATION_S); - break; case TAO_CodeGen::TAO_INTERFACE_SH: ctx.state (TAO_CodeGen::TAO_OPERATION_SH); break; @@ -564,15 +545,12 @@ be_visitor_interface::visit_structure (be_structure *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_INTERFACE_CH: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: ctx.state (TAO_CodeGen::TAO_STRUCT_CH); break; case TAO_CodeGen::TAO_INTERFACE_CI: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_I: ctx.state (TAO_CodeGen::TAO_STRUCT_CI); break; case TAO_CodeGen::TAO_INTERFACE_CS: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: ctx.state (TAO_CodeGen::TAO_STRUCT_CS); break; case TAO_CodeGen::TAO_INTERFACE_ANY_OP_CH: @@ -653,15 +631,12 @@ be_visitor_interface::visit_union (be_union *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_INTERFACE_CH: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: ctx.state (TAO_CodeGen::TAO_UNION_CH); break; case TAO_CodeGen::TAO_INTERFACE_CI: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_I: ctx.state (TAO_CodeGen::TAO_UNION_CI); break; case TAO_CodeGen::TAO_INTERFACE_CS: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: ctx.state (TAO_CodeGen::TAO_UNION_CS); break; case TAO_CodeGen::TAO_INTERFACE_ANY_OP_CH: @@ -742,15 +717,12 @@ be_visitor_interface::visit_typedef (be_typedef *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_INTERFACE_CH: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_H: ctx.state (TAO_CodeGen::TAO_TYPEDEF_CH); break; case TAO_CodeGen::TAO_INTERFACE_CI: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_I: ctx.state (TAO_CodeGen::TAO_TYPEDEF_CI); break; case TAO_CodeGen::TAO_INTERFACE_CS: - case TAO_CodeGen::TAO_LOCAL_INTERFACE_S: ctx.state (TAO_CodeGen::TAO_TYPEDEF_CS); break; case TAO_CodeGen::TAO_INTERFACE_ANY_OP_CH: diff --git a/TAO/TAO_IDL/be/be_visitor_module/module.cpp b/TAO/TAO_IDL/be/be_visitor_module/module.cpp index 248841f6667..3e61eedc658 100644 --- a/TAO/TAO_IDL/be/be_visitor_module/module.cpp +++ b/TAO/TAO_IDL/be/be_visitor_module/module.cpp @@ -292,19 +292,13 @@ be_visitor_module::visit_interface (be_interface *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_MODULE_CH: - if (! node->is_local ()) - ctx.state (TAO_CodeGen::TAO_INTERFACE_CH); - else - ctx.state (TAO_CodeGen::TAO_LOCAL_INTERFACE_H); + ctx.state (TAO_CodeGen::TAO_INTERFACE_CH); break; case TAO_CodeGen::TAO_MODULE_CI: ctx.state (TAO_CodeGen::TAO_INTERFACE_CI); break; case TAO_CodeGen::TAO_MODULE_CS: - if (! node->is_local ()) - ctx.state (TAO_CodeGen::TAO_INTERFACE_CS); - else - ctx.state (TAO_CodeGen::TAO_LOCAL_INTERFACE_S); + ctx.state (TAO_CodeGen::TAO_INTERFACE_CS); break; case TAO_CodeGen::TAO_MODULE_SH: ctx.state (TAO_CodeGen::TAO_INTERFACE_SH); diff --git a/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp b/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp index bc66c21e7cf..58f8e68eba5 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp @@ -71,7 +71,6 @@ be_visitor_operation_arglist::visit_operation (be_operation *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_OPERATION_ARGLIST_CH: - case TAO_CodeGen::TAO_LOCAL_OPERATION_ARGLIST_H: case TAO_CodeGen::TAO_OPERATION_ARGLIST_COLLOCATED_SH: case TAO_CodeGen::TAO_OPERATION_ARGLIST_SH: // last argument - is always CORBA::Environment @@ -104,14 +103,13 @@ be_visitor_operation_arglist::visit_operation (be_operation *node) switch (this->ctx_->state ()) { - case TAO_CodeGen::TAO_LOCAL_OPERATION_ARGLIST_H: - *os << " = 0;\n\n"; - break; - // Fall thru. case TAO_CodeGen::TAO_OPERATION_ARGLIST_CH: case TAO_CodeGen::TAO_OPERATION_ARGLIST_COLLOCATED_SH: case TAO_CodeGen::TAO_OPERATION_ARGLIST_IH: - *os << ";\n\n"; + if (node->is_local ()) + *os << " = 0;\n\n"; + else + *os << ";\n\n"; break; case TAO_CodeGen::TAO_OPERATION_ARGLIST_SH: // each method is pure virtual in the server header @@ -167,7 +165,6 @@ be_visitor_operation_arglist::visit_argument (be_argument *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_OPERATION_ARGLIST_CH: - case TAO_CodeGen::TAO_LOCAL_OPERATION_ARGLIST_H: ctx.state (TAO_CodeGen::TAO_ARGUMENT_ARGLIST_CH); break; case TAO_CodeGen::TAO_OPERATION_ARGLIST_OTHERS: diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp index 1bfcf3a5f98..ab6e43918d2 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_ch.cpp @@ -96,10 +96,7 @@ be_visitor_operation_ch::visit_operation (be_operation *node) // STEP 3: generate the argument list with the appropriate mapping. For these // we grab a visitor that generates the parameter listing ctx = *this->ctx_; - if (this->ctx_->state () == TAO_CodeGen::TAO_LOCAL_OPERATION_H) - ctx.state (TAO_CodeGen::TAO_LOCAL_OPERATION_ARGLIST_H); - else - ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_CH); + ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_CH); visitor = tao_cg->make_visitor (&ctx); if (!visitor) { diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp index 870767c23c6..69d4c2dfac9 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp @@ -64,7 +64,7 @@ be_visitor_operation_cs::visit_operation (be_operation *node) os = this->ctx_->stream (); this->ctx_->node (node); // save the node for future use - if (this->ctx_->state () == TAO_CodeGen::TAO_LOCAL_OPERATION_S) + if (node->is_local ()) return 0; os->indent (); // start with the current indentation level diff --git a/TAO/TAO_IDL/be/be_visitor_root/root.cpp b/TAO/TAO_IDL/be/be_visitor_root/root.cpp index 9618d5d4fb6..0c8b7af6ac0 100644 --- a/TAO/TAO_IDL/be/be_visitor_root/root.cpp +++ b/TAO/TAO_IDL/be/be_visitor_root/root.cpp @@ -492,19 +492,13 @@ be_visitor_root::visit_interface (be_interface *node) switch (this->ctx_->state ()) { case TAO_CodeGen::TAO_ROOT_CH: - if (! node->is_local ()) - ctx.state (TAO_CodeGen::TAO_INTERFACE_CH); - else - ctx.state (TAO_CodeGen::TAO_LOCAL_INTERFACE_H); + ctx.state (TAO_CodeGen::TAO_INTERFACE_CH); break; case TAO_CodeGen::TAO_ROOT_CI: ctx.state (TAO_CodeGen::TAO_INTERFACE_CI); break; case TAO_CodeGen::TAO_ROOT_CS: - if (! node->is_local ()) - ctx.state (TAO_CodeGen::TAO_INTERFACE_CS); - else - ctx.state (TAO_CodeGen::TAO_LOCAL_INTERFACE_S); + ctx.state (TAO_CodeGen::TAO_INTERFACE_CS); break; case TAO_CodeGen::TAO_ROOT_SH: ctx.state (TAO_CodeGen::TAO_INTERFACE_SH); 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 77311da083d..ca1eecdeb61 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 @@ -18,9 +18,9 @@ // // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" #include "be_visitor_structure.h" @@ -44,7 +44,9 @@ be_visitor_structure_any_op_ch::~be_visitor_structure_any_op_ch (void) int be_visitor_structure_any_op_ch::visit_structure (be_structure *node) { - if (node->cli_hdr_any_op_gen () || node->imported ()) + if (node->cli_hdr_any_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); 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 88b6eaaa3c8..04dbfab0d22 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 @@ -45,7 +45,9 @@ be_visitor_structure_any_op_cs::~be_visitor_structure_any_op_cs (void) int be_visitor_structure_any_op_cs::visit_structure (be_structure *node) { - if (node->cli_stub_any_op_gen () || node->imported ()) + if (node->cli_stub_any_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); diff --git a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp index 966a56f29a4..4aed27f26e2 100644 --- a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp @@ -44,7 +44,9 @@ be_visitor_structure_cdr_op_ch::~be_visitor_structure_cdr_op_ch (void) int be_visitor_structure_cdr_op_ch::visit_structure (be_structure *node) { - if (node->cli_hdr_cdr_op_gen () || node->imported ()) + if (node->cli_hdr_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); diff --git a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ci.cpp b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ci.cpp index b3fc996b4cd..395750ef6a2 100644 --- a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ci.cpp +++ b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ci.cpp @@ -46,7 +46,9 @@ int be_visitor_structure_cdr_op_ci::visit_structure (be_structure *node) { // already generated and/or we are imported. Don't do anything. - if (node->cli_inline_cdr_op_gen () || node->imported ()) + if (node->cli_inline_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); @@ -133,7 +135,7 @@ be_visitor_structure_cdr_op_ci::post_process (be_decl *bd) { TAO_OutStream *os = this->ctx_->stream (); - if (!this->last_node (bd) + if (!this->last_node (bd) && bd->node_type () != AST_Decl::NT_enum_val) { switch (this->ctx_->sub_state ()) diff --git a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp index 6c7c0174899..db7f2e7cbc6 100644 --- a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp @@ -39,7 +39,9 @@ be_visitor_structure_cdr_op_cs::~be_visitor_structure_cdr_op_cs (void) int be_visitor_structure_cdr_op_cs::visit_structure (be_structure *node) { - if (node->cli_stub_cdr_op_gen () || node->imported ()) + if (node->cli_stub_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; // set the substate as generating code for the types defined in our scope 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 b2ead4bea61..9075cb591a5 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 @@ -18,9 +18,9 @@ // // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" #include "be_visitor_union.h" @@ -44,7 +44,9 @@ be_visitor_union_any_op_ch::~be_visitor_union_any_op_ch (void) int be_visitor_union_any_op_ch::visit_union (be_union *node) { - if (node->cli_hdr_any_op_gen () || node->imported ()) + if (node->cli_hdr_any_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); 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 1ae318512d6..e8ad42ab833 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 @@ -45,7 +45,9 @@ be_visitor_union_any_op_cs::~be_visitor_union_any_op_cs (void) int be_visitor_union_any_op_cs::visit_union (be_union *node) { - if (node->cli_stub_any_op_gen () || node->imported ()) + if (node->cli_stub_any_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); diff --git a/TAO/TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp index 0f883e1d480..95b1d63d3dd 100644 --- a/TAO/TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp @@ -44,7 +44,9 @@ be_visitor_union_cdr_op_ch::~be_visitor_union_cdr_op_ch (void) int be_visitor_union_cdr_op_ch::visit_union (be_union *node) { - if (node->cli_hdr_cdr_op_gen () || node->imported ()) + if (node->cli_hdr_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; TAO_OutStream *os = this->ctx_->stream (); diff --git a/TAO/TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp b/TAO/TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp index 80e978244ad..314d324164e 100644 --- a/TAO/TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp +++ b/TAO/TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp @@ -45,7 +45,9 @@ int be_visitor_union_cdr_op_ci::visit_union (be_union *node) { // already generated and/or we are imported. Don't do anything. - if (node->cli_inline_cdr_op_gen () || node->imported ()) + if (node->cli_inline_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; // set the substate as generating code for the types defined in our scope diff --git a/TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp index f62a2206f04..507a62dd743 100644 --- a/TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp @@ -45,7 +45,9 @@ int be_visitor_union_cdr_op_cs::visit_union (be_union *node) { // already generated and/or we are imported. Don't do anything. - if (node->cli_stub_cdr_op_gen () || node->imported ()) + if (node->cli_stub_cdr_op_gen () || + node->imported () || + node->is_local ()) return 0; // set the substate as generating code for the types defined in our scope diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype.cpp index b5dee89d924..b4dec51679e 100644 --- a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype.cpp +++ b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype.cpp @@ -184,8 +184,12 @@ be_visitor_valuetype::visit_attribute (be_attribute *node) be_operation *op; // first the "get" operation - op = new be_operation (node->field_type (), AST_Operation::OP_noflags, - node->name (), 0); + op = new be_operation (node->field_type (), + AST_Operation::OP_noflags, + node->name (), + 0, + 0, + 0); op->set_name ((UTL_IdList *) node->name ()->copy ()); if (!op || this->visit_operation (op) == -1) { @@ -214,8 +218,12 @@ be_visitor_valuetype::visit_attribute (be_attribute *node) 0); arg->set_name ((UTL_IdList *) node->name ()->copy ()); // create the operation - op = new be_operation (rt, AST_Operation::OP_noflags, - node->name (), 0); + op = new be_operation (rt, + AST_Operation::OP_noflags, + node->name (), + 0, + 0, + 0); op->set_name ((UTL_IdList *) node->name ()->copy ()); op->add_argument_to_scope (arg); |