diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-10-30 07:20:33 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-10-30 07:20:33 +0000 |
commit | 8b55c3c1474e7082d4e797e6ba965d8a611f3c09 (patch) | |
tree | 8e2d932cfb847be4142631feb0842eff6abdcc98 /TAO/TAO_IDL/be/be_visitor_attribute | |
parent | 08f23fe27ef01aad73a86d59c50fbe045c898ae3 (diff) | |
download | ATCD-8b55c3c1474e7082d4e797e6ba965d8a611f3c09.tar.gz |
Fri Oct 30 06:15:53 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
Merged changes from Jeff for port/porttype/mirrorport to head
Thu Oct 29 12:50:35 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_connector.cpp:
* TAO_IDL/be/be_visitor_connector/connector_dds_exs.cpp:
* TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp:
* TAO_IDL/be_include/be_visitor_connector.h:
* TAO_IDL/be_include/be_visitor_connector/connector_dds_exs.h:
* TAO_IDL/be_include/be_visitor_connector/connector_dds_exh.h:
New visitors, implementing (so far) part of the code
generation of connector executors.
* TAO_IDL/be/be_codegen.cpp:
* TAO_IDL/be/be_visitor_component/component_exh.cpp:
* TAO_IDL/be/be_visitor_component/component_exs.cpp:
* TAO_IDL/be/be_global.cpp:
* TAO_IDL/be/be_visitor_component_scope.cpp:
* TAO_IDL/be_include/be_codegen.h:
* TAO_IDL/be_include/be_visitor_component_scope.h:
* TAO_IDL/be_include/be_global.h:
- Factored out code for generating entrypoint declarations
and definitions.
- Added mechanism to generate includes of DDS type
support files for the connector executor.
Sun Oct 25 17:10:27 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be_include/be_visitor_component_scope.h:
* TAO_IDL/be/be_visitor_component_scope.cpp:
Moved these files from the be_visitor_component
subdirectory, so the visitor would be accessible
as a base class to be_visitor_ccm_pre_proc. Also
add override of base class (be_visitor_scope)
method pre_proces(), to extend the generated
names of provides and uses methods with a
prefix of the port or mirrorport name, if any.
* TAO_IDL/be/be_visitor_ccm_pre_proc.cpp:
* TAO_IDL/be_include/be_visitor_ccm_pre_proc.h:
Made class be_visitor_component_scope the base class
of this visitor, thereby adding support for simple
ports, mirrorports and porttypes.
* TAO_IDL/be_include/be_visitor_component.h:
* TAO_IDL/be/be_visitor_component.cpp:
Removed relocated files from these file lists.
Thu Oct 22 20:39:02 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_component/component_scope.cpp:
* TAO_IDL/be_include/be_visitor_component/component_scope.h:
Added code generation for mirror ports.
* TAO_IDL/be_include/be_visitor_component/facet_svh.h:
* TAO_IDL/be_include/be_visitor_component/facet_svs.h:
* TAO_IDL/be/be_visitor_component/facet_svh.cpp:
* TAO_IDL/be/be_visitor_component/facet_svs.cpp:
Changed base class to be_visitor_component_scope to
pull in the mirror port support.
Thu Oct 22 19:21:26 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_component/facet_exs.cpp:
* TAO_IDL/be/be_visitor_component/executor_exh.cpp:
* TAO_IDL/be/be_visitor_component/executor_exs.cpp:
* TAO_IDL/be/be_visitor_component/facet_exh.cpp:
* TAO_IDL/be_include/be_visitor_component/executor_exh.h:
* TAO_IDL/be_include/be_visitor_component/executor_exs.h:
* TAO_IDL/be_include/be_visitor_component/facet_exh.h:
* TAO_IDL/be_include/be_visitor_component/facet_exs.h:
New files, containing new visitors that handle code
generation class-by-class in the executor implementation.
* TAO_IDL/be/be_provides.cpp:
* TAO_IDL/be/be_attribute.cpp:
* TAO_IDL/be/be_consumes.cpp:
* TAO_IDL/be/be_field.cpp:
* TAO_IDL/be/be_publishes.cpp:
* TAO_IDL/be/be_uses.cpp:
* TAO_IDL/be/be_emits.cpp:
* TAO_IDL/be/be_sequence.cpp:
* TAO_IDL/be_include/be_field.h:
* TAO_IDL/be_include/be_publishes.h:
* TAO_IDL/be_include/be_component.h:
* TAO_IDL/be_include/be_uses.h:
* TAO_IDL/be_include/be_provides.h:
* TAO_IDL/be_include/be_attribute.h:
* TAO_IDL/be_include/be_emits.h:
* TAO_IDL/be_include/be_consumes.h:
* TAO_IDL/be_include/be_sequence.h:
Add non-virtual override of frontend methods that
fetch the referenced provides, uses, publishes, emits,
consumes, field, or base type. This addition concentrates
the narrowing to the backend type so it need not be
done over and over in the visitors.
* TAO_IDL/be/be_visitor_component.cpp:
* TAO_IDL/be_include/be_visitor_component.h:
Added new visitor files.
* TAO_IDL/be/be_interface.cpp:
* TAO_IDL/be_include/be_interface.h:
Renamed static method facet_op_attr_decl_helper to
op_attr_decl_helper, since its use is now more general.
* TAO_IDL/be_include/be_visitor_component/component_exh.h:
* TAO_IDL/be_include/be_visitor_component/component_exs.h:
* TAO_IDL/be/be_visitor_component/component_exh.cpp:
* TAO_IDL/be/be_visitor_component/component_exs.cpp:
Split code out of these visitors and distributed it
among the new visitors.
* TAO_IDL/be/be_visitor_operation/operation_exs.cpp:
* TAO_IDL/be/be_visitor_operation/operation_svs.cpp:
* TAO_IDL/be/be_visitor_interface/interface_svs.cpp:
* TAO_IDL/be/be_visitor_component/context_ex_idl.cpp:
* TAO_IDL/be/be_visitor_component/executor_ex_idl.cpp:
* TAO_IDL/be/be_visitor_component/servant_svh.cpp:
* TAO_IDL/be/be_visitor_component/facet_ex_idl.cpp:
* TAO_IDL/be/be_visitor_component/servant_svs.cpp:
* TAO_IDL/be/be_visitor_attribute.cpp:
* TAO_IDL/be/be_visitor_attribute/attribute.cpp:
* TAO_IDL/be_include/be_visitor_operation/operation_svs.h:
* TAO_IDL/be_include/be_visitor_component/component.h:
Minor or cosmetic changes.
Wed Oct 21 20:40:45 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_extended_port.cpp:
* TAO_IDL/be_include/be_visitor_extended_port.h:
Removed these files, should have been removed in
Wed Oct 21 14:10:35 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_component/facet_ex_idl.cpp:
* TAO_IDL/be/be_visitor_component/context_ex_idl.cpp:
* TAO_IDL/be/be_visitor_component/executor_ex_idl.cpp:
* TAO_IDL/be_include/be_visitor_component/facet_ex_idl.h:
* TAO_IDL/be_include/be_visitor_component/context_ex_idl.h:
* TAO_IDL/be_include/be_visitor_component/executor_ex_idl.h:
New files, split executor IDL code generation into separate
visitors for the facet, context and executor classes. Also
added support for simple extended ports and porttypes.
* TAO_IDL/be/be_visitor_component.cpp:
* TAO_IDL/be_include/be_visitor_component.h:
Added new files to the include lists.
* TAO_IDL/be/be_util.cpp:
* TAO_IDL/be_include/be_util.h:
Moved utility methods to generate nested namespaces
to this class, so they can be visible to all visitors.
* TAO_IDL/be/be_visitor_component/servant_svh.cpp:
* TAO_IDL/be/be_visitor_component/context_svh.cpp:
* TAO_IDL/be/be_visitor_component/servant_svs.cpp:
* TAO_IDL/be/be_visitor_component/context_svs.cpp:
* TAO_IDL/be/be_visitor_component/component_ex_idl.cpp:
* TAO_IDL/be/be_visitor_component/component_scope.cpp:
* TAO_IDL/be_include/be_visitor_component/component_scope.h:
* TAO_IDL/be_include/be_visitor_component/servant_svh.h:
* TAO_IDL/be_include/be_visitor_component/context_svh.h:
* TAO_IDL/be_include/be_visitor_component/servant_svs.h:
* TAO_IDL/be_include/be_visitor_component/context_svs.h:
* TAO_IDL/be_include/be_visitor_component/component_ex_idl.h:
Moved visit method overrides for extended port, mirror port
and porttype to the base class be_visitor_component_scope.
In every case so far, the extended port (and eventually the
mirror port) traversal just fetches the porttype reference
and visits its scope, calling back the port kind traversal
methods that happen to be overridden in the original
visitor, so there's no need to reimplement these methods
over and over.
Wed Oct 21 14:10:35 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_extended_port/extended_port_svs.cpp:
* TAO_IDL/be/be_visitor_extended_port/extended_port.cpp:
* TAO_IDL/be/be_visitor_extended_port/extended_port_svh.cpp:
* TAO_IDL/be_include/be_visitor_extended_port/extended_port_svs.h:
* TAO_IDL/be_include/be_visitor_extended_port/extended_port.h:
* TAO_IDL/be_include/be_visitor_extended_port/extended_port_svh.h:
Removed these visitors, better use of polymorphism can be made
by just implementing their methods in the appropriate
component visitor.
* TAO_IDL/be/be_visitor_component/facet_svh.cpp:
* TAO_IDL/be/be_visitor_component/facet_svs.cpp:
* TAO_IDL/be_include/be_visitor_component/facet_svh.h:
* TAO_IDL/be_include/be_visitor_component/facet_svs.h:
Copied code from removed visitor methods above, and
removed visit_component() method.
* TAO_IDL/be/be_visitor_component/component_svh.cpp:
* TAO_IDL/be/be_visitor_component/component_svs.cpp:
Spawned facet visitors above with visit_component_scope()
call, eliminating the extra step of calling visit_component().
* TAO_IDL/be_include/be_extended_port.h:
* TAO_IDL/be/be_extended_port.cpp:
Overloaded port_type() method to return backend-specific
type, to eliminate many narrowing calls.
Tue Oct 20 22:55:25 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_component/component_scope.cpp:
* TAO_IDL/be_include/be_visitor_component/component_scope.h:
New files containing a new base class visitor, encapsulating
a scope visitation method that recurses over the scopes of
a component's ancestors, if any.
* TAO_IDL/be/be_visitor_component.cpp:
* TAO_IDL/be/be_component.cpp:
* TAO_IDL/be/be_visitor_component/servant_svh.cpp:
* TAO_IDL/be/be_visitor_component/facet_svh.cpp:
* TAO_IDL/be/be_visitor_component/context_svh.cpp:
* TAO_IDL/be/be_visitor_component/servant_svs.cpp:
* TAO_IDL/be/be_visitor_component/facet_svs.cpp:
* TAO_IDL/be/be_visitor_component/context_svs.cpp:
* TAO_IDL/be_include/be_component.h:
* TAO_IDL/be_include/be_visitor_component/servant_svh.h:
* TAO_IDL/be_include/be_visitor_component/facet_svh.h:
* TAO_IDL/be_include/be_visitor_component/context_svh.h:
* TAO_IDL/be_include/be_visitor_component/facet_svs.h:
* TAO_IDL/be_include/be_visitor_component/servant_svs.h:
* TAO_IDL/be_include/be_visitor_component/context_svs.h:
* TAO_IDL/be_include/be_visitor_component.h:
Replaced all occurrences of recursive scope iteration
with new visitor classes derived from the abstract
visitor above.
Mon Oct 19 23:26:07 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_component/servant_svs.cpp:
* TAO_IDL/be/be_visitor_component/facet_svs.cpp:
* TAO_IDL/be/be_visitor_component/context_svs.cpp:
* TAO_IDL/be_include/be_visitor_component/facet_svs.h:
* TAO_IDL/be_include/be_visitor_component/servant_svs.h:
* TAO_IDL/be_include/be_visitor_component/context_svs.h:
New files containing new visitors with code factored out
of class be_visitor_component_svs
* TAO_IDL/be/be_visitor_component.cpp:
* TAO_IDL/be/be_visitor_component/facet_svh.cpp:
* TAO_IDL/be/be_visitor_component/context_svh.cpp:
* TAO_IDL/be/be_visitor_component/component_svs.cpp:
* TAO_IDL/be/be_visitor_attribute/component_init.cpp:
* TAO_IDL/be_include/be_visitor_component/component_svs.h:
* TAO_IDL/be_include/be_visitor_component.h:
Changes stemming from the new visitors above.
Fri Oct 16 19:54:38 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_component/servant_svh.cpp:
* TAO_IDL/be/be_visitor_component/facet_svh.cpp:
* TAO_IDL/be/be_visitor_component/context_svh.cpp:
* TAO_IDL/be_include/be_visitor_component/servant_svh.h:
* TAO_IDL/be_include/be_visitor_component/facet_svh.h:
* TAO_IDL/be_include/be_visitor_component/context_svh.h:
New files, new visitors that contain code moved from
private methods in class be_visitor_component_svh.
* TAO_IDL/be/be_provides.cpp:
Fixed bug in code generation.
* TAO_IDL/be/be_visitor_component.cpp:
* TAO_IDL/be_include/be_visitor_component.h:
Added new visitor files.
* TAO_IDL/be/be_visitor_component/component_exh.cpp:
Removed debugging output.
* TAO_IDL/be/be_visitor_component/component_svh.cpp:
* TAO_IDL/be_include/be_visitor_component/component_svh.h:
Moved code out to new visitor above.
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_attribute')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp | 6 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp | 5 |
2 files changed, 5 insertions, 6 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp b/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp index d667dca1898..540e8304543 100644 --- a/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp +++ b/TAO/TAO_IDL/be/be_visitor_attribute/attribute.cpp @@ -18,10 +18,6 @@ // // ============================================================================ -ACE_RCSID (be_visitor_attribute, - attribute, - "$Id$") - // Attribute gets mapped to one or possibly two operations based on whether // it is readonly or not. The two operations "get" and "set" the value of the // attribute. @@ -177,7 +173,6 @@ be_visitor_attribute::visit_attribute (be_attribute *node) case TAO_CodeGen::TAO_ROOT_SVS: { be_visitor_operation_svs visitor (&ctx); - visitor.for_facets (this->for_facets_); visitor.scope (this->op_scope_); status = get_op.accept (&visitor); break; @@ -391,7 +386,6 @@ be_visitor_attribute::visit_attribute (be_attribute *node) case TAO_CodeGen::TAO_ROOT_SVS: { be_visitor_operation_svs visitor (&ctx); - visitor.for_facets (this->for_facets_); visitor.scope (this->op_scope_); status = set_op.accept (&visitor); break; diff --git a/TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp b/TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp index 39a1e4cd024..33c54a91151 100644 --- a/TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp +++ b/TAO/TAO_IDL/be/be_visitor_attribute/component_init.cpp @@ -35,6 +35,11 @@ int be_visitor_attribute_component_init::visit_attribute ( be_attribute *node) { + if (node->readonly ()) + { + return 0; + } + attr_ = node; be_type *ft = be_type::narrow_from_decl (node->field_type ()); return ft->accept (this); |