diff options
author | gokhale <asgokhale@users.noreply.github.com> | 1999-01-06 19:17:56 +0000 |
---|---|---|
committer | gokhale <asgokhale@users.noreply.github.com> | 1999-01-06 19:17:56 +0000 |
commit | bf5dfad11cfb890567872e178c3d649987041ead (patch) | |
tree | 85b4d2c084f8afceffc1a19c1337ac5627bce44b /TAO/TAO_IDL/be | |
parent | bdd23e3c4f64ce346a7856d16a1f29ae74a2a9ef (diff) | |
download | ATCD-bf5dfad11cfb890567872e178c3d649987041ead.tar.gz |
*** empty log message ***
Diffstat (limited to 'TAO/TAO_IDL/be')
4 files changed, 31 insertions, 10 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp b/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp index 69f262e0d4d..754d5106682 100644 --- a/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp @@ -193,30 +193,46 @@ int be_visitor_array_ch::visit_array (be_array *node) os->indent (); char *storage_class = 0; - if (scope->node_type () != AST_Decl::NT_module) - storage_class = "static "; + if (node->is_nested ()) + { + if (scope->node_type () != AST_Decl::NT_module) + storage_class = "static "; + else + storage_class = "TAO_NAMESPACE_STORAGE_CLASS "; + } else - storage_class = "TAO_NAMESPACE_STORAGE_CLASS "; + storage_class = ""; if (this->ctx_->tdef ()) { // typedefed array + if (!node->is_nested ()) + *os << "ACE_INLINE "; *os << storage_class << node->nested_type_name (scope, "_slice") << " *"; *os << node->nested_type_name (scope, "_alloc") << " (void);" << be_nl; + if (!node->is_nested ()) + *os << "ACE_INLINE "; + *os << storage_class << "void " << node->nested_type_name (scope, "_free") << " ("; + *os << node->nested_type_name (scope, "_slice") << " *_tao_slice);" << be_nl; *os << storage_class << node->nested_type_name (scope, "_slice") << " *"; *os << node->nested_type_name (scope, "_dup") << " (const "; *os << node->nested_type_name (scope, "_slice") << " *_tao_slice);" << be_nl; *os << storage_class << "void " << node->nested_type_name (scope, "_copy") << " ("; *os << node->nested_type_name (scope, "_slice") << " *_tao_to, const "; *os << node->nested_type_name (scope, "_slice") << " *_tao_from);" << be_nl; - *os << storage_class << "void " << node->nested_type_name (scope, "_free") << " ("; - *os << node->nested_type_name (scope, "_slice") << " *_tao_slice);" << be_nl; } else { // anonymous array + if (!node->is_nested ()) + *os << "ACE_INLINE "; *os << storage_class << node->nested_type_name (scope, "_slice", "_") << " *"; *os << node->nested_type_name (scope, "_alloc", "_") << " (void);" << be_nl; + if (!node->is_nested ()) + *os << "ACE_INLINE "; + *os << storage_class << "void " + << node->nested_type_name (scope, "_free", "_") << " ("; + *os << node->nested_type_name (scope, "_slice", "_") << " *_tao_slice);" << be_nl; *os << storage_class << node->nested_type_name (scope, "_slice", "_") << " *"; *os << node->nested_type_name (scope, "_dup", "_") << " (const "; *os << node->nested_type_name (scope, "_slice", "_") << " *_tao_slice);" << be_nl; @@ -224,9 +240,6 @@ int be_visitor_array_ch::visit_array (be_array *node) << node->nested_type_name (scope, "_copy", "_") << " ("; *os << node->nested_type_name (scope, "_slice", "_") << " *_tao_to, const "; *os << node->nested_type_name (scope, "_slice", "_") << " *_tao_from);" << be_nl; - *os << storage_class << "void " - << node->nested_type_name (scope, "_free", "_") << " ("; - *os << node->nested_type_name (scope, "_slice", "_") << " *_tao_slice);" << be_nl; } *os << "\n"; diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp index 5d4fc8a2f09..97e7f4c9421 100644 --- a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp +++ b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp @@ -62,6 +62,9 @@ be_visitor_sequence_ci::visit_sequence (be_sequence *node) // end of instantiation + // generate the ifdefined macro for the sequence type + os->gen_ifdef_macro (node->flatname ()); + // all we do is generate the _var and _out implementations if (this->gen_var_impl (node) == -1) { @@ -79,6 +82,10 @@ be_visitor_sequence_ci::visit_sequence (be_sequence *node) "codegen for _out failed\n"), -1); } + // generate the endif macro for the sequence type + os->gen_endif (); + node->cli_inline_gen (1); + return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp index a911e7b7592..be960e1a05f 100644 --- a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp @@ -290,6 +290,7 @@ int be_visitor_sequence_cs::visit_sequence (be_sequence *node) } os->gen_endif (); + node->cli_stub_gen (1); return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp b/TAO/TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp index 0a22dc7ae4a..d3b635e2233 100644 --- a/TAO/TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp @@ -192,7 +192,7 @@ be_visitor_union_branch_public_reset_cs::visit_interface (be_interface *node) ), -1); } TAO_OutStream *os = this->ctx_->stream (); - *os << "CORBA::release (this->u_." << ub->local_name () << "_);" << be_nl; + *os << "delete this->u_." << ub->local_name () << "_;" << be_nl; *os << "break;" << be_uidt_nl; return 0; @@ -215,7 +215,7 @@ be_visitor_union_branch_public_reset_cs::visit_interface_fwd (be_interface_fwd * ), -1); } TAO_OutStream *os = this->ctx_->stream (); - *os << "CORBA::release (this->u_." << ub->local_name () << "_);" << be_nl; + *os << "delete this->u_." << ub->local_name () << "_;" << be_nl; *os << "break;" << be_uidt_nl; return 0; |