diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2010-02-04 08:42:41 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2010-02-04 08:42:41 +0000 |
commit | d0344f87cb35b11542d386f1a38e889c79c499a9 (patch) | |
tree | b1f9a0f64dd33656f15f2e21a0a0afe9c7753dd4 /TAO/TAO_IDL/be/be_visitor_xplicit_pre_proc.cpp | |
parent | f293be1ed46af39f312fff6a74933b380d0b6077 (diff) | |
download | ATCD-d0344f87cb35b11542d386f1a38e889c79c499a9.tar.gz |
Thu Feb 4 08:36:43 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
Merged revision 88756-88826 from idl3_plus_backend2 to svn head.
Wed Feb 3 21:37:08 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be_include/be_visitor_xplicit_pre_proc.h:
* TAO_IDL/be/be_visitor_xplicit_pre_proc.cpp:
New visitor specialized to generate the contents of
the home explicit implied IDL interface.
* TAO_IDL/include/ast_home.h:
* TAO_IDL/be/be_visitor_ccm_pre_proc.cpp:
* TAO_IDL/ast/ast_home.cpp:
* TAO_IDL/be_include/be_visitor_ccm_pre_proc.h:
* TAO_IDL/util/utl_scope.cpp:
Completed changes to handle home factories and finders
as part of the home scope rather than in separate list
members of the home class.
* orbsvcs/IFR_Service/ifr_adding_visitor.h:
* orbsvcs/IFR_Service/ifr_adding_visitor.cpp:
Change IFR loader backend correspondingly with the
change above to home factories and finders.
Mon Feb 1 22:30:44 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_home/factory_svs.cpp:
* TAO_IDL/be_include/be_visitor_home/factory_svs.h:
Removed this recently-added visitor, turned out
to be unnecessary.
* TAO_IDL/be/be_visitor_home/home_svs.cpp:
* TAO_IDL/be/be_visitor_home/home_exs.cpp:
* TAO_IDL/be/be_visitor_home/home_svh.cpp:
* TAO_IDL/be/be_visitor_home/home_ex_idl.cpp:
* TAO_IDL/be/be_visitor_home/home_exh.cpp:
* TAO_IDL/be/be_visitor_operation/arglist.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_init_arglist_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/arglist.cpp:
* TAO_IDL/be/be_decl.cpp:
* TAO_IDL/be/be_visitor_home.cpp:
* TAO_IDL/be/be_visitor_operation.cpp:
* TAO_IDL/be/be_scope.cpp:
* TAO_IDL/be/be_visitor_ccm_pre_proc.cpp:
* TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp:
* TAO_IDL/be_include/be_visitor_home/home_ex_idl.h:
* TAO_IDL/be_include/be_visitor_home/home_exh.h:
* TAO_IDL/be_include/be_visitor_home/home_svs.h:
* TAO_IDL/be_include/be_visitor_home/home_exs.h:
* TAO_IDL/be_include/be_visitor_home/home_svh.h:
* TAO_IDL/be_include/be_visitor_operation/arglist.h:
* TAO_IDL/be_include/be_visitor_ccm_pre_proc.h:
* TAO_IDL/be_include/be_visitor_home.h:
More work toward handling home factories and
finders as members of the home's scope rather
than as a list in the home class. In progress.
Fri Jan 29 22:03:03 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_home/factory_svs.cpp:
* TAO_IDL/be_include/be_visitor_home/factory_svs.h:
New visitor for homes, encapsulating the issues of
factory and finder code generation in the servant
source file.
* TAO_IDL/include/ast_valuetype.h:
* TAO_IDL/include/ast_home.h:
* TAO_IDL/include/ast_visitor_tmpl_module_inst.h:
* TAO_IDL/include/utl_scope.h:
* TAO_IDL/be/be_visitor_home/home_svs.cpp:
* TAO_IDL/be/be_visitor_home/home_svh.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_init_arglist_ch.cpp:
* TAO_IDL/be/be_visitor_home.cpp:
* TAO_IDL/be/be_finder.cpp:
* TAO_IDL/ast/ast_home.cpp:
* TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp:
* TAO_IDL/ast/ast_finder.cpp:
* TAO_IDL/ast/ast_redef.cpp:
* TAO_IDL/be_include/be_visitor_home/home_svs.h:
* TAO_IDL/be_include/be_visitor_home/home_svh.h:
* TAO_IDL/be_include/be_visitor_home.h:
* TAO_IDL/fe/y.tab.cpp:
* TAO_IDL/fe/idl.yy:
* TAO_IDL/util/utl_scope.cpp:
In-progress change of home factory and finder handling.
Instead of being stored in lists in the home node, they
will be members of the home scope like any other legal
construct for a home scope.
Fri Jan 29 18:08:41 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/include/ast_finder.h:
* TAO_IDL/be/be_finder.cpp:
* TAO_IDL/ast/ast_finder.cpp:
* TAO_IDL/be_include/be_finder.h:
New AST node classes, representing an IDL home
finder construct.
* orbsvcs/IFR_Service/ifr_visitor.h:
* orbsvcs/IFR_Service/ifr_visitor.cpp:
* orbsvcs/IFR_Service/ifr_adding_visitor.cpp:
Updated backend with no-op overrides of
visit_* methods added to the front end.
* TAO_IDL/include/ast_generator.h:
* TAO_IDL/include/ast_visitor_reifying.h:
* TAO_IDL/include/ast_decl.h:
* TAO_IDL/include/ast_factory.h:
* TAO_IDL/include/ast_visitor_tmpl_module_inst.h:
* TAO_IDL/include/ast_visitor.h:
* TAO_IDL/be/be_factory.cpp:
* TAO_IDL/be/be_visitor.cpp:
* TAO_IDL/be/be_generator.cpp:
* TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp:
* TAO_IDL/ast/ast_generator.cpp:
* TAO_IDL/ast/ast_visitor_reifying.cpp:
* TAO_IDL/ast/ast_factory.cpp:
* TAO_IDL/be_include/be_visitor.h:
* TAO_IDL/be_include/be_factory.h:
* TAO_IDL/be_include/be_generator.h:
* TAO_IDL/fe/y.tab.cpp:
* TAO_IDL/fe/idl.yy:
* TAO_IDL/narrow/narrow.cpp:
Other changes corresponding to the addition
of the new AST classes and visit_* methods
above.
Thu Jan 28 20:04:42 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/include/ast_decl.h:
* TAO_IDL/include/utl_scope.h:
* TAO_IDL/be/be_visitor_operation/arglist.cpp:
* TAO_IDL/be/be_visitor_operation/argument.cpp:
* TAO_IDL/be/be_sequence.cpp:
* TAO_IDL/ast/ast_interface.cpp:
* TAO_IDL/ast/ast_module.cpp:
* TAO_IDL/ast/ast_interface_fwd.cpp:
* TAO_IDL/ast/ast_decl.cpp:
* TAO_IDL/fe/y.tab.cpp:
* TAO_IDL/fe/fe_extern.cpp:
* TAO_IDL/fe/idl.yy:
* TAO_IDL/util/utl_scope.cpp:
Removal of more unnecessary code.
Thu Jan 28 18:13:19 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_union.cpp:
* TAO_IDL/be/be_visitor_exception/exception.cpp:
* TAO_IDL/be/be_visitor_exception/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_exception/exception_cs.cpp:
* TAO_IDL/be/be_visitor_exception/exception_ctor.cpp:
* TAO_IDL/be/be_visitor_exception/exception_ch.cpp:
* TAO_IDL/be/be_visitor_exception/exception_ci.cpp:
* TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_exception/ctor_assign.cpp:
* TAO_IDL/be/be_visitor_typedef/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_typedef/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_typedef/typedef.cpp:
* TAO_IDL/be/be_visitor_typedef/serializer_op_ch.cpp:
* TAO_IDL/be/be_visitor_typedef/typedef_cs.cpp:
* TAO_IDL/be/be_visitor_typedef/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp:
* TAO_IDL/be/be_visitor_typedef/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_typedef/typedef_ci.cpp:
* TAO_IDL/be/be_visitor_typedef/serializer_op_cs.cpp:
* TAO_IDL/be/be_interface_fwd.cpp:
* TAO_IDL/be/be_attribute.cpp:
* TAO_IDL/be/be_visitor_native.cpp:
* TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp:
* TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
* TAO_IDL/be/be_visitor_arg_traits.cpp:
* TAO_IDL/be/be_valuetype.cpp:
* TAO_IDL/be/be_visitor_argument/invoke_cs.cpp:
* TAO_IDL/be/be_visitor_argument/argument.cpp:
* TAO_IDL/be/be_visitor_argument/arglist.cpp:
* TAO_IDL/be/be_visitor_argument/upcall_ss.cpp:
* TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp:
* TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp:
* TAO_IDL/be/be_visitor_argument/marshal_ss.cpp:
* TAO_IDL/be/be_visitor_argument/paramlist.cpp:
* TAO_IDL/be/be_visitor_home/home_ch.cpp:
* TAO_IDL/be/be_visitor_home/home_exs.cpp:
* TAO_IDL/be/be_visitor_home/home_ex_idl.cpp:
* TAO_IDL/be/be_visitor_home/home_exh.cpp:
* TAO_IDL/be/be_visitor_home/home_cs.cpp:
* TAO_IDL/be/be_union_fwd.cpp:
* TAO_IDL/be/be_visitor_interface/proxy_impls_ch.cpp:
* TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.cpp:
* TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp:
* TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp:
* TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp:
* TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp:
* TAO_IDL/be/be_visitor_interface/interface_ci.cpp:
* TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp:
* TAO_IDL/be/be_visitor_interface/amh_ch.cpp:
* TAO_IDL/be/be_visitor_interface/interface_ih.cpp:
* TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp:
* TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
* TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp:
* TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp:
* TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
* TAO_IDL/be/be_visitor_interface/interface_si.cpp:
* TAO_IDL/be/be_visitor_interface/interface_is.cpp:
* TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
* TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp:
* TAO_IDL/be/be_visitor_interface/amh_si.cpp:
* TAO_IDL/be/be_visitor_interface/ami_interface_ch.cpp:
* TAO_IDL/be/be_visitor_interface/interface.cpp:
* TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
* TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
* TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_interface/tie_sh.cpp:
* TAO_IDL/be/be_visitor_interface/interface_svh.cpp:
* TAO_IDL/be/be_visitor_interface/proxy_brokers_ch.cpp:
* TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp:
* TAO_IDL/be/be_visitor_interface/tie_ss.cpp:
* TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp:
* TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp:
* TAO_IDL/be/be_visitor_interface/interface_svs.cpp:
* TAO_IDL/be/be_visitor_operation/smart_proxy_ch.cpp:
* TAO_IDL/be/be_visitor_operation/proxy_impl_xh.cpp:
* TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp:
* TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp:
* TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
* TAO_IDL/be/be_visitor_operation/arglist.cpp:
* TAO_IDL/be/be_visitor_operation/base_proxy_impl_ch.cpp:
* TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp:
* TAO_IDL/be/be_visitor_operation/smart_proxy_cs.cpp:
* TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp:
* TAO_IDL/be/be_visitor_operation/operation_ih.cpp:
* TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp:
* TAO_IDL/be/be_visitor_operation/operation_cs.cpp:
* TAO_IDL/be/be_visitor_operation/exceptlist_ss.cpp:
* TAO_IDL/be/be_visitor_operation/operation_sh.cpp:
* TAO_IDL/be/be_visitor_operation/operation_is.cpp:
* TAO_IDL/be/be_visitor_operation/rettype.cpp:
* TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
* TAO_IDL/be/be_visitor_operation/operation.cpp:
* TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
* TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_ch.cpp:
* TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
* TAO_IDL/be/be_visitor_operation/tie_sh.cpp:
* TAO_IDL/be/be_visitor_operation/ami_ch.cpp:
* TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp:
* TAO_IDL/be/be_visitor_operation/argument.cpp:
* TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp:
* TAO_IDL/be/be_visitor_operation/tie_ss.cpp:
* TAO_IDL/be/be_visitor_operation/amh_rh_sh.cpp:
* TAO_IDL/be/be_visitor_operation/argument_marshal.cpp:
* TAO_IDL/be/be_visitor_operation/ami_cs.cpp:
* TAO_IDL/be/be_visitor_operation/argument_invoke.cpp:
* TAO_IDL/be/be_visitor_root.cpp:
* TAO_IDL/be/be_codegen.cpp:
* TAO_IDL/be/be_union_branch.cpp:
* TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_sequence/serializer_op_ch.cpp:
* TAO_IDL/be/be_visitor_sequence/sequence_base.cpp:
* TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:
* TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_sequence/buffer_type.cpp:
* TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp:
* TAO_IDL/be/be_visitor_union.cpp:
* TAO_IDL/be/be_valuetype_fwd.cpp:
* TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
* TAO_IDL/be/be_visitor_interface_fwd.cpp:
* TAO_IDL/be/be_visitor_root/root_ci.cpp:
* TAO_IDL/be/be_visitor_root/root_sth.cpp:
* TAO_IDL/be/be_visitor_root/root_exs.cpp:
* TAO_IDL/be/be_visitor_root/root_ih.cpp:
* TAO_IDL/be/be_visitor_root/root_svh.cpp:
* TAO_IDL/be/be_visitor_root/cdr_op.cpp:
* TAO_IDL/be/be_visitor_root/serializer_op.cpp:
* TAO_IDL/be/be_visitor_root/root_ex_idl.cpp:
* TAO_IDL/be/be_visitor_root/root_cs.cpp:
* TAO_IDL/be/be_visitor_root/root_sh.cpp:
* TAO_IDL/be/be_visitor_root/root_svs.cpp:
* TAO_IDL/be/be_visitor_root/root_is.cpp:
* TAO_IDL/be/be_visitor_root/root_si.cpp:
* TAO_IDL/be/be_visitor_root/root.cpp:
* TAO_IDL/be/be_visitor_root/any_op.cpp:
* TAO_IDL/be/be_visitor_root/root_exh.cpp:
* TAO_IDL/be/be_visitor_root/root_ss.cpp:
* TAO_IDL/be/be_visitor_root/root_ch.cpp:
* TAO_IDL/be/be_type.cpp:
* TAO_IDL/be/be_visitor_valuebox/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_valuebox/valuebox_ch.cpp:
* TAO_IDL/be/be_visitor_valuebox/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp:
* TAO_IDL/be/be_visitor_valuebox/valuebox.cpp:
* TAO_IDL/be/be_visitor_valuebox/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_valuebox/valuebox_cs.cpp:
* TAO_IDL/be/be_visitor_valuebox/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_valuebox/field_ch.cpp:
* TAO_IDL/be/be_visitor_enum.cpp:
* TAO_IDL/be/be_home.cpp:
* TAO_IDL/be/be_visitor_template_export.cpp:
* TAO_IDL/be/be_visitor_component_fwd/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_component_fwd/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_component_fwd/component_fwd_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/field_ci.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ci.cpp:
* TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_init_arglist_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/field_cdr_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/marshal_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/arglist.cpp:
* TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_sh.cpp:
* TAO_IDL/be/be_visitor_valuetype/field_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_si.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_init_ci.cpp:
* TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_ss.cpp:
* TAO_IDL/be/be_visitor_valuetype/field_cdr_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_init_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_ci.cpp:
* TAO_IDL/be/be_visitor_valuetype/obv_module.cpp:
* TAO_IDL/be/be_visitor_valuetype/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/field_ch.cpp:
* TAO_IDL/be/be_helper.cpp:
* TAO_IDL/be/be_valuebox.cpp:
* TAO_IDL/be/be_visitor_union_fwd/union_fwd_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype_fwd.cpp:
* TAO_IDL/be/be_visitor_structure_fwd/structure_fwd_ch.cpp:
* TAO_IDL/be/be_component.cpp:
* TAO_IDL/be/be_visitor_exception.cpp:
* TAO_IDL/be/be_visitor_typedef.cpp:
* TAO_IDL/be/be_visitor_union_branch.cpp:
* TAO_IDL/be/be_visitor_typecode.cpp:
* TAO_IDL/be/be_visitor_argument.cpp:
* TAO_IDL/be/be_component_fwd.cpp:
* TAO_IDL/be/be_visitor_union_branch/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_union_branch/serializer_op_ch.cpp:
* TAO_IDL/be/be_visitor_union_branch/public_cs.cpp:
* TAO_IDL/be/be_visitor_union_branch/private_ch.cpp:
* TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp:
* TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp:
* TAO_IDL/be/be_visitor_union_branch/public_ch.cpp:
* TAO_IDL/be/be_visitor_union_branch/public_constructor_cs.cpp:
* TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:
* TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_union_branch/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_home.cpp:
* TAO_IDL/be/be_visitor_constant.cpp:
* TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
* TAO_IDL/be/be_interface_strategy.cpp:
* TAO_IDL/be/be_operation_strategy.cpp:
* TAO_IDL/be/be_field.cpp:
* TAO_IDL/be/be_visitor_native/native_ch.cpp:
* TAO_IDL/be/be_module.cpp:
* TAO_IDL/be/be_visitor_sequence.cpp:
* TAO_IDL/be/be_visitor_constant/constant_cs.cpp:
* TAO_IDL/be/be_visitor_constant/constant_ch.cpp:
* TAO_IDL/be/be_structure_fwd.cpp:
* TAO_IDL/be/be_visitor_component/component_ch.cpp:
* TAO_IDL/be/be_visitor_component/component_ci.cpp:
* TAO_IDL/be/be_visitor_component/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_component/component_ih.cpp:
* TAO_IDL/be/be_visitor_component/component_cs.cpp:
* TAO_IDL/be/be_visitor_component/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_component/component_sh.cpp:
* TAO_IDL/be/be_visitor_component/component_is.cpp:
* TAO_IDL/be/be_visitor_component/component_si.cpp:
* TAO_IDL/be/be_visitor_component/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_component/component.cpp:
* TAO_IDL/be/be_visitor_component/component_ss.cpp:
* TAO_IDL/be/be_visitor_component/any_op_cs.cpp:
* TAO_IDL/be/be_predefined_type.cpp:
* TAO_IDL/be/be_visitor_array/array.cpp:
* TAO_IDL/be/be_visitor_array/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_array/serializer_op_ch.cpp:
* TAO_IDL/be/be_visitor_array/array_cs.cpp:
* TAO_IDL/be/be_visitor_array/array_ci.cpp:
* TAO_IDL/be/be_visitor_array/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_array/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_component_fwd.cpp:
* TAO_IDL/be/be_argument.cpp:
* TAO_IDL/be/be_visitor_module/module_ch.cpp:
* TAO_IDL/be/be_visitor_module/module_sh.cpp:
* TAO_IDL/be/be_visitor_module/any_op.cpp:
* TAO_IDL/be/be_visitor_module/module.cpp:
* TAO_IDL/be/be_visitor_module/module_ih.cpp:
* TAO_IDL/be/be_visitor_module/cdr_op.cpp:
* TAO_IDL/be/be_visitor_module/serializer_op.cpp:
* TAO_IDL/be/be_visitor_decl.cpp:
* TAO_IDL/be/be_visitor_union/discriminant_ch.cpp:
* TAO_IDL/be/be_visitor_union/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_union/discriminant_ci.cpp:
* TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_union/serializer_op_ch.cpp:
* TAO_IDL/be/be_visitor_union/union_ch.cpp:
* TAO_IDL/be/be_visitor_union/union_ci.cpp:
* TAO_IDL/be/be_visitor_union/union.cpp:
* TAO_IDL/be/be_visitor_union/discriminant_cs.cpp:
* TAO_IDL/be/be_visitor_union/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_union/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_union/union_cs.cpp:
* TAO_IDL/be/be_constant.cpp:
* TAO_IDL/be/be_visitor_valuetype.cpp:
* TAO_IDL/be/be_exception.cpp:
* TAO_IDL/be/be_visitor_structure/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_structure/structure.cpp:
* TAO_IDL/be/be_visitor_structure/serializer_op_ch.cpp:
* TAO_IDL/be/be_visitor_structure/structure_cs.cpp:
* TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_structure/structure_ch.cpp:
* TAO_IDL/be/be_visitor_structure/structure_ci.cpp:
* TAO_IDL/be/be_visitor_structure/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_interface_fwd/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_interface_fwd/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp:
* TAO_IDL/be/be_global.cpp:
* TAO_IDL/be/be_null_return_emitter.cpp:
* TAO_IDL/be/be_visitor_enum/enum_ch.cpp:
* TAO_IDL/be/be_visitor_enum/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_enum/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_enum/serializer_op_ch.cpp:
* TAO_IDL/be/be_visitor_enum/enum_cs.cpp:
* TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
* TAO_IDL/be/be_visitor_enum/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_enum/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_context.cpp:
* TAO_IDL/be/be_visitor_union_fwd.cpp:
* TAO_IDL/be/be_visitor_structure_fwd.cpp:
* TAO_IDL/be/be_visitor_field/field_ci.cpp:
* TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_field/serializer_op_ch.cpp:
* TAO_IDL/be/be_visitor_field/field_cs.cpp:
* TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_field/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_field/field_ch.cpp:
* TAO_IDL/be/be_root.cpp:
* TAO_IDL/be/be_interface.cpp:
* TAO_IDL/be/be_enum.cpp:
* TAO_IDL/be/be_string.cpp:
* TAO_IDL/be/be_visitor_valuetype_fwd/any_op_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ci.cpp:
* TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp:
* TAO_IDL/be/be_array.cpp:
* TAO_IDL/be/be_visitor_traits.cpp:
* TAO_IDL/be/be_visitor_factory.cpp:
* TAO_IDL/be/be_native.cpp:
* TAO_IDL/be/be_generator.cpp:
* TAO_IDL/ast/ast_union_fwd.cpp:
* TAO_IDL/ast/ast_structure_fwd.cpp:
* TAO_IDL/ast/ast_concrete_type.cpp:
* TAO_IDL/ast/ast_predefined_type.cpp:
* TAO_IDL/ast/ast_enum_val.cpp:
* TAO_IDL/ast/ast_recursive.cpp:
* TAO_IDL/ast/ast_valuetype_fwd.cpp:
* TAO_IDL/ast/ast_root.cpp:
* TAO_IDL/ast/ast_eventtype_fwd.cpp:
* TAO_IDL/ast/ast_valuebox.cpp:
* TAO_IDL/ast/ast_redef.cpp:
* TAO_IDL/ast/ast_union_label.cpp:
* TAO_IDL/ast/ast_interface_fwd.cpp:
* TAO_IDL/ast/ast_component_fwd.cpp:
* TAO_IDL/ast/ast_enum.cpp:
* TAO_IDL/ast/ast_string.cpp:
* TAO_IDL/ast/ast_check.cpp:
* TAO_IDL/ast/ast_type.cpp:
* TAO_IDL/ast/ast_native.cpp:
* TAO_IDL/be_include/be_visitor_context.h:
* TAO_IDL/fe/fe_global.cpp:
* TAO_IDL/fe/fe_init.cpp:
* TAO_IDL/fe/fe_extern.cpp:
* TAO_IDL/fe/fe_private.cpp:
* TAO_IDL/driver/drv_mcpp_preproc.cpp:
* TAO_IDL/driver/drv_preproc.cpp:
* TAO_IDL/narrow/narrow.cpp:
* TAO_IDL/util/utl_identifier.cpp:
* TAO_IDL/util/utl_tmpl/utl_exprlist.cpp:
* TAO_IDL/util/utl_tmpl/utl_list.cpp:
* TAO_IDL/util/utl_tmpl/utl_namelist.cpp:
* TAO_IDL/util/utl_tmpl/utl_decllist.cpp:
* TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp:
* TAO_IDL/util/utl_tmpl/utl_strlist.cpp:
* TAO_IDL/util/utl_tmpl/utl_idlist.cpp:
* TAO_IDL/util/utl_decllist.cpp:
* TAO_IDL/util/utl_strlist.cpp:
* TAO_IDL/util/utl_stack.cpp:
* TAO_IDL/util/utl_string.cpp:
Removed many unused methods from class be_visitor_context,
and bits of unused code from many other files.
Thu Jan 28 15:56:11 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_home/home_svs.cpp:
* TAO_IDL/be/be_visitor_home/home_svh.cpp:
Added code generation for method overrides that appear as pure
virtual in the skeleton base class when the home has
a primary key. These methods throw CORBA::NO_IMPLEMENT,
since primary keys are not supported in CIAO.
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_xplicit_pre_proc.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_xplicit_pre_proc.cpp | 230 |
1 files changed, 230 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_xplicit_pre_proc.cpp b/TAO/TAO_IDL/be/be_visitor_xplicit_pre_proc.cpp new file mode 100644 index 00000000000..d1e1bd5678f --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_xplicit_pre_proc.cpp @@ -0,0 +1,230 @@ +/** + * @file be_visitor_xplicit_pre_proc.cpp + * + * $Id$ + * + * @author Jeff Parsons + */ +//============================================================================= + +#include "be_visitor_xplicit_pre_proc.h" +#include "be_home.h" +#include "be_component.h" +#include "be_interface.h" +#include "be_operation.h" +#include "be_argument.h" +#include "be_finder.h" + +#include "ast_module.h" + +#include "utl_namelist.h" + +#include "fe_interface_header.h" +#include "nr_extern.h" +#include "global_extern.h" + +be_visitor_xplicit_pre_proc::be_visitor_xplicit_pre_proc ( + be_visitor_context *ctx) + : be_visitor_ccm_pre_proc (ctx), + xplicit_ (0) +{ +} + +be_visitor_xplicit_pre_proc::~be_visitor_xplicit_pre_proc (void) +{ +} + +int +be_visitor_xplicit_pre_proc::visit_home (be_home *node) +{ + this->node_ = node; + UTL_NameList *parent_list = this->compute_inheritance (node); + + FE_InterfaceHeader header (0, + parent_list, + false, + false, + true); + + // We're at global scope here so we need to fool the scope stack + // for a minute so the correct repo id can be calculated at + // interface construction time. + AST_Module *m = + AST_Module::narrow_from_scope (node->defined_in ()); + + idl_global->scopes ().push (m); + + UTL_ScopedName *explicit_name = + this->create_scoped_name ("", + node->local_name (), + "Explicit", + m); + + be_interface *i = 0; + ACE_NEW_RETURN (i, + be_interface (explicit_name, + header.inherits (), + header.n_inherits (), + header.inherits_flat (), + header.n_inherits_flat (), + false, + false), + 0); + + (void) m->be_add_interface (i); + + i->original_interface (node); + + idl_global->scopes ().push (i); + + if (this->visit_scope (node) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_ccm_pre_proc::") + ACE_TEXT ("create_explicit - code generation ") + ACE_TEXT ("for home scope failed\n")), + 0); + } + + // Through with the explicit interface scope + idl_global->scopes ().pop (); + + explicit_name->destroy (); + delete explicit_name; + explicit_name = 0; + + header.destroy (); + + parent_list->destroy (); + delete parent_list; + parent_list = 0; + + // Through with the scope containing the home. + idl_global->scopes ().pop (); + + this->xplicit_ = i; + + return 0; +} + +int +be_visitor_xplicit_pre_proc::visit_operation (be_operation *node) +{ + UTL_ScopedName sn (node->local_name (), 0); + + be_operation *home_op = 0; + ACE_NEW_RETURN (home_op, + be_operation (node->return_type (), + node->flags (), + &sn, + false, + false), + -1); + + home_op->be_add_exceptions (node->exceptions ()); + + idl_global->scopes ().top ()->add_to_scope (home_op); + idl_global->scopes ().push (home_op); + + if (this->visit_scope (home_op) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_ccm_pre_proc::") + ACE_TEXT ("visit_operation - code generation ") + ACE_TEXT ("for scope failed\n")), + -1); + } + + idl_global->scopes ().pop (); + + return 0; +} + +int +be_visitor_xplicit_pre_proc::visit_argument (be_argument *node) +{ + UTL_ScopedName sn (node->local_name (), 0); + + be_argument *added_arg = 0; + ACE_NEW_RETURN (added_arg, + be_argument (node->direction (), + node->field_type (), + &sn), + -1); + + idl_global->scopes ().top ()->add_to_scope (added_arg); + + return 0; +} + +int +be_visitor_xplicit_pre_proc::visit_factory (be_factory *node) +{ + UTL_ScopedName sn (node->local_name (), 0); + + be_operation *added_factory = 0; + ACE_NEW_RETURN (added_factory, + be_operation (this->node_->managed_component (), + AST_Operation::OP_noflags, + &sn, + false, + false), + -1); + + AST_Interface *d = + AST_Interface::narrow_from_scope ( + idl_global->scopes ().top ()); + + idl_global->scopes ().top ()->add_to_scope (added_factory); + idl_global->scopes ().push (added_factory); + + if (this->visit_scope (node) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_ccm_pre_proc::") + ACE_TEXT ("visit_factory - code generation ") + ACE_TEXT ("for scope failed\n")), + -1); + } + + idl_global->scopes ().pop (); + + return 0; +} + +int +be_visitor_xplicit_pre_proc::visit_finder (be_finder *node) +{ + UTL_ScopedName sn (node->local_name (), 0); + + be_operation *added_finder = 0; + ACE_NEW_RETURN (added_finder, + be_operation (this->node_->managed_component (), + AST_Operation::OP_noflags, + &sn, + false, + false), + -1); + + idl_global->scopes ().top ()->add_to_scope (added_finder); + idl_global->scopes ().push (added_finder); + + if (this->visit_scope (node) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_ccm_pre_proc::") + ACE_TEXT ("visit_finder - code generation ") + ACE_TEXT ("for scope failed\n")), + -1); + } + + idl_global->scopes ().pop (); + + return 0; +} + +be_interface * +be_visitor_xplicit_pre_proc::xplicit (void) const +{ + return this->xplicit_; +}
\ No newline at end of file |