1
// ifr_visitor.h,v 1.9 2003/06/17 15:09:23 parsons Exp
4
// ============================================================================
13
// The Interface Repository administration visitor base class.
16
// Jeff Parsons <parsons@cs.wustl.edu>
18
// ============================================================================
20
#ifndef TAO_IFR_VISITOR_H
21
#define TAO_IFR_VISITOR_H
23
#include "ast_visitor.h"
24
#include "be_extern.h"
25
#include "tao/Environment.h"
27
#if !defined (ACE_LACKS_PRAGMA_ONCE)
29
#endif /* ACE_LACKS_PRAGMA_ONCE */
31
class ifr_visitor : public ast_visitor
38
// Base class for the IfR administration visitors. The methods are
39
// not pure virtual to facilitate the implementation of some
40
// derived visitors that override only a few.
46
virtual ~ifr_visitor (void);
49
virtual int visit_decl (AST_Decl *d);
52
virtual int visit_scope (UTL_Scope *node);
55
virtual int visit_type (AST_Type *node);
58
virtual int visit_predefined_type (AST_PredefinedType *node);
59
// Visit the predefined type.
61
virtual int visit_module (AST_Module *node);
64
virtual int visit_interface (AST_Interface *node);
67
virtual int visit_interface_fwd (AST_InterfaceFwd *node);
68
// Visit a forward interface declaration.
70
virtual int visit_valuetype (AST_ValueType *node);
73
virtual int visit_valuetype_fwd (AST_ValueTypeFwd *node);
74
// Visit valuetype_fwd
76
virtual int visit_component (AST_Component *node);
79
virtual int visit_component_fwd (AST_ComponentFwd *node);
80
// Visit component_fwd
82
virtual int visit_eventtype (AST_EventType *node);
85
virtual int visit_eventtype_fwd (AST_EventTypeFwd *node);
86
// Visit valuetype_fwd
88
virtual int visit_home (AST_Home *node);
89
// Visit component home.
91
virtual int visit_factory (AST_Factory *node);
92
// Visit a factory construct.
94
virtual int visit_structure (AST_Structure *node);
97
virtual int visit_structure_fwd (AST_StructureFwd *node);
98
// Visit a forward structure declaration.
100
virtual int visit_exception (AST_Exception *node);
103
virtual int visit_expression (AST_Expression *node);
106
virtual int visit_enum (AST_Enum *node);
109
virtual int visit_operation (AST_Operation *node);
110
// Visit an operation.
112
virtual int visit_field (AST_Field *node);
115
virtual int visit_argument (AST_Argument *node);
118
virtual int visit_attribute (AST_Attribute *node);
119
// Visit an attribute.
121
virtual int visit_union (AST_Union *node);
124
virtual int visit_union_fwd (AST_UnionFwd *node);
125
// Visit a forward union declaration.
127
virtual int visit_union_branch (AST_UnionBranch *node);
128
// Visit union branch.
130
virtual int visit_union_label (AST_UnionLabel *node);
131
// Visit union label.
133
virtual int visit_constant (AST_Constant *node);
136
virtual int visit_enum_val (AST_EnumVal *node);
139
virtual int visit_array (AST_Array *node);
142
virtual int visit_sequence (AST_Sequence *node);
145
virtual int visit_string (AST_String *node);
148
virtual int visit_typedef (AST_Typedef *node);
151
virtual int visit_root (AST_Root *node);
154
virtual int visit_native (AST_Native *node);
157
ACE_Lock &lock (void) const;
158
// Accessor for our lock.
165
#endif /* TAO_IFR_VISITOR_H */