1 #ifndef AST_TEMPLATE_MODULE_REF_H
2 #define AST_TEMPLATE_MODULE_REF_H
7 class AST_Template_Module
;
9 class TAO_IDL_FE_Export AST_Template_Module_Ref
10 : public virtual AST_Field
13 AST_Template_Module_Ref (UTL_ScopedName
*n
,
14 AST_Template_Module
*ref
,
15 UTL_StrList
*param_refs
);
17 virtual ~AST_Template_Module_Ref ();
19 AST_Template_Module
*ref () const;
21 UTL_StrList
*param_refs () const;
24 virtual void dump (ACE_OSTREAM_TYPE
&o
);
27 virtual void destroy ();
30 virtual int ast_accept (ast_visitor
*visitor
);
32 // If IDL module has been created in a scope corresponding
33 // to this node. That's the one we want to match, NOT this
34 // AST_Template_Module_Ref, and it occurs in the scope right
35 // after this node, so we'll match what we're looking for on
36 // the next iteration of the search. So for this immediate
37 // adjustment we return no match.
38 virtual AST_Decl
*adjust_found (bool ignore_fwd
, bool full_def_only
);
40 /// Accessors for the member.
41 bool processed () const;
42 void processed (bool val
);
44 static AST_Decl::NodeType
const NT
;
47 UTL_StrList
*param_refs_
;
49 /// Flag to prevent multiple module creations when we encounter
50 /// 'chained' alias declarations.
54 #endif // AST_TEMPLATE_MODULE_REF_H