2 //=============================================================================
6 * Abstract class for back end visitors.
9 * This is not a pure abstract class
11 * @author Aniruddha Gokhale and Carlos O'Ryan
13 //=============================================================================
15 #include "be_visitor.h"
18 #include "be_extern.h"
19 #include "global_extern.h"
22 #include "ace/config-all.h"
24 be_visitor::be_visitor ()
28 be_visitor::~be_visitor ()
32 // All the visit methods. Concrete visitors will selectively
34 int be_visitor::visit_decl (be_decl
*)
40 be_visitor::visit_scope (be_scope
*)
46 be_visitor::visit_type (be_type
*)
52 be_visitor::visit_predefined_type (be_predefined_type
*)
58 be_visitor::visit_module (be_module
*)
63 int be_visitor::visit_interface (be_interface
*)
69 be_visitor::visit_interface_fwd (be_interface_fwd
*)
75 be_visitor::visit_valuebox (be_valuebox
*)
81 be_visitor::visit_valuetype (be_valuetype
*)
87 be_visitor::visit_valuetype_fwd (be_valuetype_fwd
*)
93 be_visitor::visit_eventtype (be_eventtype
*)
99 be_visitor::visit_eventtype_fwd (be_eventtype_fwd
*)
105 be_visitor::visit_component (be_component
*)
111 be_visitor::visit_component_fwd (be_component_fwd
*)
117 be_visitor::visit_template_module (be_template_module
*)
123 be_visitor::visit_template_module_inst (be_template_module_inst
*)
129 be_visitor::visit_template_module_ref (be_template_module_ref
*)
135 be_visitor::visit_param_holder (be_param_holder
*)
141 be_visitor::visit_porttype (be_porttype
*)
147 be_visitor::visit_provides (be_provides
*)
153 be_visitor::visit_uses (be_uses
*)
159 be_visitor::visit_publishes (be_publishes
*)
165 be_visitor::visit_emits (be_emits
*)
171 be_visitor::visit_consumes (be_consumes
*)
177 be_visitor::visit_extended_port (be_extended_port
*)
183 be_visitor::visit_mirror_port (be_mirror_port
*)
189 be_visitor::visit_connector (be_connector
*)
195 be_visitor::visit_home (be_home
*)
201 be_visitor::visit_factory (be_factory
*)
207 be_visitor::visit_finder (be_finder
*)
213 be_visitor::visit_structure (be_structure
*)
219 be_visitor::visit_structure_fwd (be_structure_fwd
*)
225 be_visitor::visit_exception (be_exception
*)
231 be_visitor::visit_expression (be_expression
*)
237 be_visitor::visit_enum (be_enum
*)
243 be_visitor::visit_operation (be_operation
*)
249 be_visitor::visit_field (be_field
*)
255 be_visitor::visit_argument (be_argument
*)
261 be_visitor::visit_attribute (be_attribute
*)
267 be_visitor::visit_union (be_union
*)
273 be_visitor::visit_union_fwd (be_union_fwd
*)
279 be_visitor::visit_union_branch (be_union_branch
*)
285 be_visitor::visit_union_label (be_union_label
*)
291 be_visitor::visit_constant (be_constant
*)
297 be_visitor::visit_enum_val (be_enum_val
*)
303 be_visitor::visit_array (be_array
*)
309 be_visitor::visit_map (be_map
*)
315 be_visitor::visit_sequence (be_sequence
*)
321 be_visitor::visit_string (be_string
*)
327 be_visitor::visit_typedef (be_typedef
*)
333 be_visitor::visit_root (be_root
*)
339 be_visitor::visit_native (be_native
*)
345 be_visitor::visit_fixed (be_fixed
*node
)
347 if (!be_global
->no_fixed_err ())
348 idl_global
->err ()->fixed_unsupported (node
);