diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_valuetype.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_valuetype.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/TAO/TAO_IDL/be/be_valuetype.cpp b/TAO/TAO_IDL/be/be_valuetype.cpp index c438ea9c48b..2d088f94bba 100644 --- a/TAO/TAO_IDL/be/be_valuetype.cpp +++ b/TAO/TAO_IDL/be/be_valuetype.cpp @@ -69,6 +69,8 @@ be_valuetype::be_valuetype (UTL_ScopedName *n, n_inherits_flat, 0, abstract), + be_type (AST_Decl::NT_valuetype, + n), AST_ValueType (n, inherits, n_inherits, @@ -158,6 +160,8 @@ be_valuetype::~be_valuetype (void) void be_valuetype::redefine (AST_Interface *from) { + be_valuetype *bv = be_valuetype::narrow_from_decl (from); + bv->var_out_seq_decls_gen_ = bv->var_out_seq_decls_gen_; this->AST_ValueType::redefine (from); } @@ -189,18 +193,6 @@ be_valuetype::full_obv_skel_name (void) return this->full_obv_skel_name_; } -int -be_valuetype::var_out_seq_decls_gen (void) const -{ - return this->var_out_seq_decls_gen_; -} - -void -be_valuetype::var_out_seq_decls_gen (int val) -{ - this->var_out_seq_decls_gen_ = val; -} - const char * be_valuetype::fwd_helper_name (void) const { @@ -304,6 +296,11 @@ be_valuetype::gen_helper_stubs (char* , void be_valuetype:: gen_var_out_seq_decls (void) { + if (this->var_out_seq_decls_gen_ == 1) + { + return; + } + TAO_OutStream *os = tao_cg->client_header (); *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl @@ -325,6 +322,8 @@ be_valuetype:: gen_var_out_seq_decls (void) << lname << " *);" << be_nl << "static void tao_remove_ref (" << lname << " *);" << be_uidt_nl << "};"; + + this->var_out_seq_decls_gen_ = 1; } // For building the pre and postfix of private data fields. |