diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-26 16:44:13 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-26 16:44:13 +0000 |
commit | b3271e7fef6e49d9c84808fb9b8f45252038d5e0 (patch) | |
tree | 3c143f49b1f1b5a3a273c23b0a0e2d189a3e7033 | |
parent | c856aa5b4b03aab900273bef18e9d18ff7c392f8 (diff) | |
download | ATCD-b3271e7fef6e49d9c84808fb9b8f45252038d5e0.tar.gz |
ChangeLogTag: Sun Oct 26 10:29:12 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog_ref | 10 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_tmplinst.cpp | 1 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp | 63 |
3 files changed, 60 insertions, 14 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref index 702d7249810..50edfa99bf1 100644 --- a/TAO/ChangeLog_ref +++ b/TAO/ChangeLog_ref @@ -1,3 +1,13 @@ +Sun Oct 26 10:29:12 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_visitor_tmplinst.cpp: + + Added missing generation of explicit template instantiation + of the Any class associated with exceptions, and also made + indentation changes to the generation of explicit template + instantiations for TAO::Objref_Traits<>, TAO::Narrow_Utils, + and TAO::Arg_Traits<>. + Sat Oct 25 12:06:06 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> * tao/PortableServer/ImplRepoC.cpp: diff --git a/TAO/TAO_IDL/be/be_visitor_tmplinst.cpp b/TAO/TAO_IDL/be/be_visitor_tmplinst.cpp index d0b54a4f006..ffbfe1c6d23 100644 --- a/TAO/TAO_IDL/be/be_visitor_tmplinst.cpp +++ b/TAO/TAO_IDL/be/be_visitor_tmplinst.cpp @@ -25,6 +25,7 @@ #include "be_array.h" #include "be_attribute.h" #include "be_enum.h" +#include "be_exception.h" #include "be_sequence.h" #include "be_string.h" #include "be_structure.h" diff --git a/TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp b/TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp index 272b0e9783e..c26db6b0c9e 100644 --- a/TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp @@ -40,8 +40,10 @@ be_visitor_tmplinst_cs::visit_interface (be_interface *node) os->gen_ifdef_macro (node->flat_name (), "arg_traits_tmplinst"); *os << be_nl << be_nl - << this->prefix_ << " TAO::Arg_Traits<" << node->name () - << ">" << this->suffix_; + << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl + << "TAO::Arg_Traits<" << this->linebreak_ << be_idt << be_idt_nl + << node->name () << this->linebreak_ << be_uidt_nl + << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt; *os << be_nl << be_nl << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl @@ -50,8 +52,9 @@ be_visitor_tmplinst_cs::visit_interface (be_interface *node) << node->name () << "_ptr," << this->linebreak_ << be_nl << node->name () << "_var," << this->linebreak_ << be_nl << node->name () << "_out," << this->linebreak_ << be_nl - << "TAO::Objref_Traits<" << node->name () << "> " << this->linebreak_ - << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt << be_uidt; + << "TAO::Objref_Traits<" << node->name () + << ">" << this->linebreak_ << be_uidt_nl + << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt; os->gen_endif (); } @@ -75,8 +78,10 @@ be_visitor_tmplinst_cs::visit_interface (be_interface *node) // For the traits template class. *os << be_nl << be_nl - << this->prefix_ << " TAO::Objref_Traits<" << node->name () - << ">" << this->suffix_; + << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl + << "TAO::Objref_Traits<" << this->linebreak_ << be_idt << be_idt_nl + << node->name () << this->linebreak_ << be_uidt_nl + << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt; // For the _var and _out typedefs. *os << be_nl << be_nl @@ -94,8 +99,9 @@ be_visitor_tmplinst_cs::visit_interface (be_interface *node) { *os << be_nl << be_nl << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl - << "TAO::Narrow_Utils<" << node->name () << ">" - << this->suffix_ << be_uidt << be_uidt; + << "TAO::Narrow_Utils<" << this->linebreak_ << be_idt << be_idt_nl + << node->name () << this->linebreak_ << be_uidt_nl + << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt; } if (be_global->gen_smart_proxies ()) @@ -152,8 +158,10 @@ be_visitor_tmplinst_cs::visit_valuetype (be_valuetype *node) os->gen_ifdef_macro (node->flat_name (), "arg_traits_tmplinst"); *os << be_nl << be_nl - << this->prefix_ << " TAO::Arg_Traits<" << node->name () - << ">" << this->suffix_; + << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl + << " TAO::Arg_Traits<" << this->linebreak_ << be_idt << be_idt_nl + << node->name () << this->linebreak_ << be_uidt_nl + << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt; *os << be_nl << be_nl << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl @@ -162,8 +170,9 @@ be_visitor_tmplinst_cs::visit_valuetype (be_valuetype *node) << node->name () << " *," << this->linebreak_ << be_nl << node->name () << "_var," << this->linebreak_ << be_nl << node->name () << "_out," << this->linebreak_ << be_nl - << "TAO::Objref_Traits<" << node->name () << "> " << this->linebreak_ - << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt << be_uidt; + << "TAO::Objref_Traits<" << node->name () << "> " + << this->linebreak_ << be_uidt_nl + << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt; os->gen_endif (); } @@ -184,8 +193,10 @@ be_visitor_tmplinst_cs::visit_valuetype (be_valuetype *node) // For _var and _out template classes. *os << be_nl << be_nl - << this->prefix_ << " TAO::Value_Traits<" << node->name () - << ">" << this->suffix_; + << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl + << "TAO::Value_Traits<" << this->linebreak_ << be_idt << be_idt_nl + << node->name () << this->linebreak_ << be_uidt_nl + << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt; *os << be_nl << be_nl << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl @@ -639,6 +650,30 @@ be_visitor_tmplinst_cs::visit_enum (be_enum *node) } int +be_visitor_tmplinst_cs::visit_exception (be_exception *node) +{ + if (this->this_mode_generated (node) || node->imported ()) + { + return 0; + } + + TAO_OutStream *os = this->ctx_->stream (); + + if (be_global->any_support ()) + { + *os << be_nl << be_nl + << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl + << "TAO::Any_Dual_Impl_T<" << this->linebreak_ + << be_idt << be_idt_nl + << node->name () << this->linebreak_ << be_uidt_nl + << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt; + } + + this->this_mode_generated (node, I_TRUE); + return 0; +} + +int be_visitor_tmplinst_cs::visit_structure (be_structure *node) { if (this->this_mode_generated (node)) |