diff options
Diffstat (limited to 'TAO/TAO_IDL/be')
-rw-r--r-- | TAO/TAO_IDL/be/be_codegen.cpp | 11 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_global.cpp | 34 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_interface.cpp | 107 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_sequence.cpp | 12 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_root.cpp | 1 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_root/root.cpp | 19 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp | 5 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_template_export.cpp | 151 |
9 files changed, 67 insertions, 277 deletions
diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 36dafafec75..e5b567283fb 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -849,12 +849,12 @@ TAO_CodeGen::start_anyop_header (const char *fname) const char *tao_prefix = ""; ACE_CString pidl_checker (idl_global->filename ()->get_string ()); - bool const got_tao_pidl = + bool const got_pidl = (pidl_checker.substr (pidl_checker.length () - 5) == ".pidl"); // If we're here and we have a .pidl file, we need to generate - // the *C.h include from the tao library. - if (got_tao_pidl) + // the *A.h include from the AnyTypeCode library. + if (got_pidl) { tao_prefix = "tao/"; } @@ -1704,7 +1704,10 @@ TAO_CodeGen::gen_stub_hdr_includes (void) ACE_CString pidl_checker (idl_name); bool got_pidl = - (pidl_checker.substr (pidl_checker.length () - 5) == ".pidl"); + (pidl_checker.substr (pidl_checker.length () - 5) == ".pidl") + && (pidl_checker.find ("IFR_Client") == ACE_CString::npos); + // We can't use the -GA option on IFR_Client .pidl files, + // because there are decls inside interfaces. // If we're here and we have a .pidl file, we need to generate // the *A.h include from the AnyTypeCode library. diff --git a/TAO/TAO_IDL/be/be_global.cpp b/TAO/TAO_IDL/be/be_global.cpp index 7db39ced0c5..46b004d62ac 100644 --- a/TAO/TAO_IDL/be/be_global.cpp +++ b/TAO/TAO_IDL/be/be_global.cpp @@ -112,8 +112,7 @@ BE_GlobalData::BE_GlobalData (void) gen_client_stub_ (true), gen_server_skeleton_ (true), gen_local_iface_anyops_ (true), - use_clonable_in_args_ (false), - gen_template_export_ (false) + use_clonable_in_args_ (false) { } @@ -851,18 +850,6 @@ BE_GlobalData::use_clonable_in_args (void) const return this->use_clonable_in_args_; } -bool -BE_GlobalData::gen_template_export (void) const -{ - return this->gen_template_export_; -} - -void -BE_GlobalData::gen_template_export (bool val) -{ - this->gen_template_export_ = val; -} - const char* BE_GlobalData::anyop_header_ending (void) const { @@ -1307,8 +1294,6 @@ BE_GlobalData::ccmobject (void) AST_Decl *d = idl_global->scopes ().top_non_null ()->lookup_by_name (&sn, - true, - true, true); sn.destroy (); @@ -1988,11 +1973,6 @@ BE_GlobalData::parse_args (long &i, char **av) // Smart proxies. be_global->gen_smart_proxies (true); } - else if (av[i][3] == 'e') - { - // Explicit sequence base class template export. - be_global->gen_template_export (true); - } else { ACE_ERROR (( @@ -2637,18 +2617,14 @@ BE_GlobalData::usage (void) const )); ACE_DEBUG (( LM_DEBUG, - ACE_TEXT (" -GA\t\t\tgenerate Any operator and type codes in *A.{h,cpp}") - ACE_TEXT (" (generated in *C.{h,cpp} by default)\n") + ACE_TEXT (" -GA\t\t\tgenerate Any operator and type code bodies in *A.cpp") + ACE_TEXT (" (generated in *C.cpp by default)\n") )); ACE_DEBUG (( LM_DEBUG, ACE_TEXT (" -Guc\t\t\tgenerate uninlined constant if declared ") - ACE_TEXT ("in a module (inlined by default)\n") - )); - ACE_DEBUG (( - LM_DEBUG, - ACE_TEXT (" -Gse\t\t\tgenerate explicit export of sequence's ") - ACE_TEXT ("template base class (not generated by default)\n") + ACE_TEXT ("in a module") + ACE_TEXT (" (inlined by default)\n") )); ACE_DEBUG (( LM_DEBUG, diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp index 816cb87badb..6fc79e08fe7 100644 --- a/TAO/TAO_IDL/be/be_interface.cpp +++ b/TAO/TAO_IDL/be/be_interface.cpp @@ -502,8 +502,7 @@ be_interface::gen_def_ctors_helper (be_interface* node, } else { - *os << ", " << be_global->impl_class_prefix () - << base->flat_name () + *os << ", " << be_global->impl_class_prefix () << base->flat_name () << be_global->impl_class_suffix () << " ()"; } } @@ -763,8 +762,8 @@ Pure_Virtual_Regenerator::emit (be_interface *derived_interface, if (d->accept (this->visitor_) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) Pure_Virtual_Regenerator::emit - " - "visit base interface operation failed\n"), + "(%N:%l) Pure_Virtual_Regenerator::emit - " + "visit base interface operation failed\n"), -1); } @@ -922,8 +921,7 @@ be_interface::gen_operation_table (const char *flat_name, // interface. // Retrieve the singleton instance to the outstream factory. - TAO_OutStream_Factory *factory = - TAO_OUTSTREAM_FACTORY::instance (); + TAO_OutStream_Factory *factory = TAO_OUTSTREAM_FACTORY::instance (); // Get a new instance for the temp file. TAO_OutStream *os = factory->make_outstream (); @@ -1293,8 +1291,7 @@ be_interface::gen_collocated_skel_body (be_interface *derived, *os << be_nl << be_nl << "ACE_INLINE void" << be_nl << derived->full_direct_proxy_impl_name () - << "::" << prefix << d->local_name () << " (" - << be_idt << be_idt_nl + << "::" << prefix << d->local_name () << " (" << be_idt << be_idt_nl << "TAO_Abstract_ServantBase *servant," << be_nl << "TAO::Argument ** args," << be_nl << "int num_args" << env_decl << be_uidt_nl @@ -1305,8 +1302,7 @@ be_interface::gen_collocated_skel_body (be_interface *derived, *os << be_uidt_nl << "{" << be_idt_nl << ancestor->full_direct_proxy_impl_name () - << "::" << prefix << d->local_name () << " (" - << be_idt << be_idt_nl + << "::" << prefix << d->local_name () << " (" << be_idt << be_idt_nl << "servant," << be_nl << "args," << be_nl << "num_args" << env_arg << be_uidt_nl @@ -1384,8 +1380,8 @@ be_interface::traverse_inheritance_graph (be_interface::tao_code_emitter gen, if (insert_queue.enqueue_tail (this) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_interface::traverse_inheritance_graph" - " - error generating entries\n"), + "(%N:%l) be_interface::traverse_inheritance_graph - " + "error generating entries\n"), -1); } @@ -1428,7 +1424,7 @@ be_interface::traverse_inheritance_graph ( { (void) this->insert_non_dup (base); - long const n_supports = base->n_supports (); + long n_supports = base->n_supports (); AST_Interface **supports = base->supports (); for (long j = 0; j < n_supports; ++j) @@ -1657,14 +1653,11 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) "fclose"), -1); } - + // Open the temp file. #if defined (ACE_OPENVMS) - ACE_HANDLE input = ::open (tao_cg->gperf_input_filename (), - O_RDONLY, - "shr=get,put,upd", - "ctx=rec", - "fop=dfw"); + ACE_HANDLE input = ::open(tao_cg->gperf_input_filename(), O_RDONLY, + "shr=get,put,upd", "ctx=rec", "fop=dfw"); #else ACE_HANDLE input = ACE::open_temp_file (tao_cg->gperf_input_filename (), O_RDONLY); @@ -1689,20 +1682,14 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) // this, remember to update the file offset to the correct location. #if defined (ACE_OPENVMS) - char* gperfOutput = tempnam (0, "idl_"); - - if (gperfOutput == 0) + char* gperfOutput = tempnam(NULL, "idl_"); + if (gperfOutput == NULL) { - ACE_OS::close (input); - ACE_ERROR_RETURN ((LM_ERROR, "failed to allocate memory\n"), -1); + ACE_OS::close(input); + ACE_ERROR_RETURN ((LM_ERROR, "failed to allocate memory\n"), -1); } - - ACE_HANDLE output = ::open (gperfOutput, - O_WRONLY | O_CREAT | O_EXCL, - ACE_DEFAULT_FILE_PERMS , - "shr=get,put,upd", - "ctx=rec", - "fop=dfw"); + ACE_HANDLE output = ::open(gperfOutput, O_WRONLY | O_CREAT | O_EXCL, + ACE_DEFAULT_FILE_PERMS , "shr=get,put,upd", "ctx=rec", "fop=dfw"); #else ACE_HANDLE output = ACE_OS::open (this->strategy_->get_out_stream_fname (), O_WRONLY | O_APPEND); @@ -1798,8 +1785,7 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) default: ACE_ERROR ((LM_ERROR, - "tao_idl:ERROR:%N:%l:Unknown " - "Operation Lookup Strategy\n")); + "tao_idl:ERROR:%N:%l:Unknown Operation Lookup Strategy\n")); result = -1; } @@ -1820,8 +1806,7 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) else if (process.wait () == -1) { ACE_ERROR ((LM_ERROR, - "Error:%p:Error on waiting for " - "completion of gperf program.\n", + "Error:%p:Error on waiting for completion of gperf program.\n", "process.wait")); result = -1; @@ -1829,7 +1814,7 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) // Adjust the file offset to the EOF for the server skeleton // file. - ACE_OS::fseek (this->strategy_->get_out_stream ()->file (), + ACE_OS::fseek (this->strategy_->get_out_stream()->file (), 0, SEEK_END); } @@ -1837,15 +1822,13 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) ACE_OS::close (output); ACE_OS::close (input); -#if defined (ACE_OPENVMS) - ACE_OS::unlink(tao_cg->gperf_input_filename ()); - process_options.release_handles (); - +#if defined(ACE_OPENVMS) + ACE_OS::unlink(tao_cg->gperf_input_filename()); + process_options.release_handles(); if (result != -1) { FILE* gperfOutputFile; - gperfOutputFile = ::fopen (gperfOutput, "r"); - + gperfOutputFile = ::fopen(gperfOutput, "r"); if (gperfOutputFile == 0) { ACE_ERROR ((LM_ERROR, @@ -1855,28 +1838,24 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) } else { - FILE* out = this->strategy_->get_out_stream ()->file (); + FILE* out = this->strategy_->get_out_stream()->file(); int c; - while ((c = fgetc(gperfOutputFile)) != EOF) { - fputc (c, out); + fputc(c, out); } - - if (ferror (gperfOutputFile) || ferror (out)) + if (ferror(gperfOutputFile) || ferror(out)) { ACE_ERROR ((LM_ERROR, "Error:%p:Couldn't open gperf output file\n", "get/put")); result = -1; } - - fclose (gperfOutputFile); + fclose(gperfOutputFile); } } - - ACE_OS::unlink (gperfOutput); - free (gperfOutput); + ACE_OS::unlink(gperfOutput); + free(gperfOutput); #endif /* ACE_OPENVMS */ return result; @@ -1963,9 +1942,9 @@ be_interface::gen_skel_helper (be_interface *derived, if (ancestor->nmembers () > 0) { // If there are elements in ancestor scope i.e., any operations and - // attributes defined by "ancestor", become methods on the derived - // class which call the corresponding method of the base class by - // doing the proper casting. + // attributes defined by "ancestor", become methods on the derived class + // which call the corresponding method of the base class by doing the + // proper casting. for (UTL_ScopeActiveIterator si (ancestor, UTL_Scope::IK_decls); !si.is_done (); @@ -1976,10 +1955,10 @@ be_interface::gen_skel_helper (be_interface *derived, if (d->node_type () == AST_Decl::NT_op) { - *os << be_nl << be_nl - << "// TAO_IDL - Generated from" << be_nl - << "// " << __FILE__ << ":" << __LINE__ - << be_nl << be_nl; + *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl + << "// " << __FILE__ << ":" << __LINE__; + + *os << be_nl << be_nl; if (os->stream_type () == TAO_OutStream::TAO_SVR_HDR) { @@ -2203,8 +2182,7 @@ be_interface::gen_colloc_op_decl_helper (be_interface *derived, // Generate the static method corresponding to // this method. *os << "static void" << be_nl - << "_set_" << d->local_name () << " (" - << be_idt << be_idt_nl + << "_set_" << d->local_name () << " (" << be_idt << be_idt_nl << "TAO_Abstract_ServantBase *servant, " << be_nl << "TAO::Argument ** args," << be_nl << "int num_args" << env_dflts << be_uidt_nl @@ -2456,7 +2434,7 @@ be_interface::destroy (void) delete this->strategy_; this->strategy_ = 0; } - + // Call the destroy methods of our base classes. this->AST_Interface::destroy (); this->be_scope::destroy (); @@ -2479,8 +2457,7 @@ be_interface::next_state (TAO_CodeGen::CG_STATE current_state, } int -be_interface::has_extra_code_generation ( - TAO_CodeGen::CG_STATE current_state) +be_interface::has_extra_code_generation (TAO_CodeGen::CG_STATE current_state) { return this->strategy_->has_extra_code_generation (current_state); } @@ -2512,7 +2489,7 @@ be_interface::has_mixed_parentage (void) } AST_Decl::NodeType nt = this->node_type (); - + if (AST_Decl::NT_component == nt || AST_Decl::NT_home == nt) { return 0; diff --git a/TAO/TAO_IDL/be/be_sequence.cpp b/TAO/TAO_IDL/be/be_sequence.cpp index fb8131c0c32..57e3185c11b 100644 --- a/TAO/TAO_IDL/be/be_sequence.cpp +++ b/TAO/TAO_IDL/be/be_sequence.cpp @@ -467,7 +467,7 @@ be_sequence::instance_name () if (this->unbounded ()) { ACE_OS::sprintf (namebuf, - "TAO::unbounded_basic_string_sequence<char>"); + "TAO::unbounded_string_sequence"); } else { @@ -481,7 +481,7 @@ be_sequence::instance_name () if (this->unbounded ()) { ACE_OS::sprintf (namebuf, - "TAO::unbounded_basic_string_sequence<CORBA::WChar>"); + "TAO::unbounded_wstring_sequence"); } else { @@ -587,11 +587,11 @@ be_sequence::gen_base_class_name (TAO_OutStream *os, case be_sequence::MNG_STRING: if (this->unbounded ()) { - *os << "TAO::unbounded_basic_string_sequence<char>"; + *os << "TAO::unbounded_string_sequence"; } else { - *os << "TAO::bounded_basic_string_sequence<char, " + *os << "TAO::bounded_string_sequence<" << this->max_size ()->ev ()->u.ulval << ">"; } @@ -599,11 +599,11 @@ be_sequence::gen_base_class_name (TAO_OutStream *os, case be_sequence::MNG_WSTRING: if (this->unbounded ()) { - *os << "TAO::unbounded_basic_string_sequence<CORBA::WChar>"; + *os << "TAO::unbounded_wstring_sequence"; } else { - *os << "TAO::bounded_basic_string_sequence<CORBA::WChar, " + *os << "TAO::bounded_wstring_sequence<" << this->max_size ()->ev ()->u.ulval << ">"; } diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp index 0c77523309d..4e8cc346e23 100644 --- a/TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp @@ -248,7 +248,7 @@ be_visitor_component_cs::visit_component (be_component *node) while (ancestor != 0) { *os << "!ACE_OS::strcmp (" << be_idt << be_idt_nl - << "value," << be_nl + << "(char *)value," << be_nl << "\"" << ancestor->repoID () << "\"" << be_uidt_nl << ") ||" << be_uidt_nl; @@ -256,7 +256,7 @@ be_visitor_component_cs::visit_component (be_component *node) } *os << "!ACE_OS::strcmp (" << be_idt << be_idt_nl - << "value," << be_nl + << "(char *)value," << be_nl << "\"IDL:omg.org/Components/CCMObject:1.0\"" << be_uidt_nl << ")" << be_uidt << be_uidt_nl << " )" << be_nl diff --git a/TAO/TAO_IDL/be/be_visitor_root.cpp b/TAO/TAO_IDL/be/be_visitor_root.cpp index b88712b67f5..3cee0de1265 100644 --- a/TAO/TAO_IDL/be/be_visitor_root.cpp +++ b/TAO/TAO_IDL/be/be_visitor_root.cpp @@ -59,7 +59,6 @@ #include "be_visitor_home.h" #include "be_visitor_traits.h" #include "be_visitor_arg_traits.h" -#include "be_visitor_template_export.h" #include "be_visitor_context.h" #include "be_visitor_root/root.cpp" diff --git a/TAO/TAO_IDL/be/be_visitor_root/root.cpp b/TAO/TAO_IDL/be/be_visitor_root/root.cpp index 74b1174c595..44ae5a92566 100644 --- a/TAO/TAO_IDL/be/be_visitor_root/root.cpp +++ b/TAO/TAO_IDL/be/be_visitor_root/root.cpp @@ -272,8 +272,8 @@ int be_visitor_root::visit_root (be_root *node) { case TAO_CodeGen::TAO_ROOT_CH: { - be_visitor_traits traits_visitor (&ctx); - status = node->accept (&traits_visitor); + be_visitor_traits visitor (&ctx); + status = node->accept (&visitor); if (status == -1) { @@ -283,21 +283,6 @@ int be_visitor_root::visit_root (be_root *node) "failed to generate traits\n"), -1); } - - if (be_global->gen_template_export ()) - { - be_visitor_template_export export_visitor (&ctx); - status = node->accept (&export_visitor); - - if (status == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_root::" - "visit_root - " - "failed to export templates\n"), - -1); - } - } } break; diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp index 7752e68912a..265e0b8261e 100644 --- a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp @@ -55,11 +55,12 @@ int be_visitor_sequence_ch::visit_sequence (be_sequence *node) return 0; } + be_type *bt = 0; TAO_OutStream *os = this->ctx_->stream (); // Retrieve the base type since we may need to do some code // generation for the base type. - be_type *bt = be_type::narrow_from_decl (node->base_type ()); + bt = be_type::narrow_from_decl (node->base_type ()); if (bt == 0) { @@ -73,7 +74,7 @@ int be_visitor_sequence_ch::visit_sequence (be_sequence *node) bt->seen_in_sequence (true); AST_Decl::NodeType nt = bt->node_type (); - // If our base type is an anonymous sequence, we must create a name + // If our base type is an anonymouse sequence, we must create a name // and generate a class declaration for it as well. if (nt == AST_Decl::NT_sequence) { diff --git a/TAO/TAO_IDL/be/be_visitor_template_export.cpp b/TAO/TAO_IDL/be/be_visitor_template_export.cpp deleted file mode 100644 index 6fb14458121..00000000000 --- a/TAO/TAO_IDL/be/be_visitor_template_export.cpp +++ /dev/null @@ -1,151 +0,0 @@ -//============================================================================= -/** -* @file be_visitor_template_export.cpp -* -* $Id$ -* -* This visitor generates template instantiations with export macro -* -* @author Jeff Parsons <j.parsons@vanderbilt.edu> -*/ -//============================================================================= - -#include "be_visitor_template_export.h" -#include "be_visitor_context.h" -#include "be_root.h" -#include "be_module.h" -#include "be_typedef.h" -#include "be_sequence.h" -#include "be_extern.h" -#include "be_helper.h" -#include "be_predefined_type.h" - -ACE_RCSID (be, - be_visitor_template_export, - "$Id$") - -be_visitor_template_export::be_visitor_template_export ( - be_visitor_context *ctx) - : be_visitor_scope (ctx) -{ -} - -be_visitor_template_export::~be_visitor_template_export (void) -{ -} - -int -be_visitor_template_export::visit_root (be_root *node) -{ - TAO_OutStream *os = this->ctx_->stream (); - - *os << "// TAO_IDL - Generated from " << be_nl - << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; - - *os << "#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT"; - - if (this->visit_scope (node) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_template_export::" - "visit_root - visit scope failed\n"), - -1); - } - - *os << be_nl << "#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */"; - - return 0; -} - -int -be_visitor_template_export::visit_module (be_module *node) -{ - if (this->visit_scope (node) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_template_export::" - "visit_module - visit scope failed\n"), - -1); - } - - return 0; -} - -int -be_visitor_template_export::visit_sequence (be_sequence *node) -{ - TAO_OutStream *os = this->ctx_->stream (); - - be_type *bt = be_type::narrow_from_decl (node->base_type ()); - - // TAO provides extensions for octet sequences, first find out if - // the base type is an octet (or an alias for octet). - be_predefined_type *predef = 0; - - if (bt->base_node_type () == AST_Type::NT_pre_defined) - { - be_typedef* alias = - be_typedef::narrow_from_decl (bt); - - if (alias == 0) - { - predef = be_predefined_type::narrow_from_decl (bt); - } - else - { - predef = - be_predefined_type::narrow_from_decl ( - alias->primitive_base_type () - ); - } - } - - // When it is a sequence add a special guard - if (predef != 0 && predef->pt () == AST_PredefinedType::PT_octet - && node->unbounded ()) - { - *os << "\n#if (TAO_NO_COPY_OCTET_SEQUENCES == 0)"; - } - - *os << be_idt << be_nl - << "template class " << be_global->stub_export_macro () - << " "; - - if (node->gen_base_class_name (os, "", this->ctx_->scope ()) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_template_export::" - "visit_sequence - " - "Base class name generation failed\n"), - -1); - } - - *os << ";" << be_uidt; - - if (predef != 0 && predef->pt () == AST_PredefinedType::PT_octet - && node->unbounded ()) - { - *os << "\n#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 0 */"; - } - - return 0; -} - -int -be_visitor_template_export::visit_typedef (be_typedef *node) -{ - this->ctx_->alias (node); - be_type *bt = node->primitive_base_type (); - - if (bt->accept (this) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_template_export::" - "visit_typedef - " - "visit base type failed\n"), - -1); - } - - this->ctx_->alias (0); - return 0; -} |