00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef TAO_IFR_VISITOR_H
00021 #define TAO_IFR_VISITOR_H
00022
00023 #include "ast_visitor.h"
00024 #include "be_extern.h"
00025 #include "tao/Environment.h"
00026
00027 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00028 # pragma once
00029 #endif
00030
00031 class ifr_visitor : public ast_visitor
00032 {
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 public:
00043 ifr_visitor (void);
00044
00045
00046 virtual ~ifr_visitor (void);
00047
00048
00049 virtual int visit_decl (AST_Decl *d);
00050
00051
00052 virtual int visit_scope (UTL_Scope *node);
00053
00054
00055 virtual int visit_type (AST_Type *node);
00056
00057
00058 virtual int visit_predefined_type (AST_PredefinedType *node);
00059
00060
00061 virtual int visit_module (AST_Module *node);
00062
00063
00064 virtual int visit_interface (AST_Interface *node);
00065
00066
00067 virtual int visit_interface_fwd (AST_InterfaceFwd *node);
00068
00069
00070 virtual int visit_valuebox (AST_ValueBox *node);
00071
00072
00073 virtual int visit_valuetype (AST_ValueType *node);
00074
00075
00076 virtual int visit_valuetype_fwd (AST_ValueTypeFwd *node);
00077
00078
00079 virtual int visit_component (AST_Component *node);
00080
00081
00082 virtual int visit_component_fwd (AST_ComponentFwd *node);
00083
00084
00085 virtual int visit_eventtype (AST_EventType *node);
00086
00087
00088 virtual int visit_eventtype_fwd (AST_EventTypeFwd *node);
00089
00090
00091 virtual int visit_home (AST_Home *node);
00092
00093
00094 virtual int visit_factory (AST_Factory *node);
00095
00096
00097 virtual int visit_structure (AST_Structure *node);
00098
00099
00100 virtual int visit_structure_fwd (AST_StructureFwd *node);
00101
00102
00103 virtual int visit_exception (AST_Exception *node);
00104
00105
00106 virtual int visit_expression (AST_Expression *node);
00107
00108
00109 virtual int visit_enum (AST_Enum *node);
00110
00111
00112 virtual int visit_operation (AST_Operation *node);
00113
00114
00115 virtual int visit_field (AST_Field *node);
00116
00117
00118 virtual int visit_argument (AST_Argument *node);
00119
00120
00121 virtual int visit_attribute (AST_Attribute *node);
00122
00123
00124 virtual int visit_union (AST_Union *node);
00125
00126
00127 virtual int visit_union_fwd (AST_UnionFwd *node);
00128
00129
00130 virtual int visit_union_branch (AST_UnionBranch *node);
00131
00132
00133 virtual int visit_union_label (AST_UnionLabel *node);
00134
00135
00136 virtual int visit_constant (AST_Constant *node);
00137
00138
00139 virtual int visit_enum_val (AST_EnumVal *node);
00140
00141
00142 virtual int visit_array (AST_Array *node);
00143
00144
00145 virtual int visit_sequence (AST_Sequence *node);
00146
00147
00148 virtual int visit_string (AST_String *node);
00149
00150
00151 virtual int visit_typedef (AST_Typedef *node);
00152
00153
00154 virtual int visit_root (AST_Root *node);
00155
00156
00157 virtual int visit_native (AST_Native *node);
00158
00159
00160 ACE_Lock &lock (void) const;
00161
00162
00163 private:
00164 ACE_Lock *lock_;
00165
00166 };
00167
00168 #endif