3 //=============================================================================
5 * @file ast_visitor_context.h
7 * This class serves to provide the necessary context information to the
8 * visitor as it generates code. This may include the scope inside which the
9 * code is generated, the output file that is being used, and others. This
10 * context information will be passed to the abstract/concrete visitor
11 * factory which in turn will use it to construct the right visitor.
13 * @author Jeff Parsons & Aniruddha Gokhale
15 //=============================================================================
18 #ifndef AST_VISITOR_CONTEXT_H
19 #define AST_VISITOR_CONTEXT_H
23 class TAO_IDL_FE_Export ast_visitor_context
26 ast_visitor_context (void);
28 ast_visitor_context (const ast_visitor_context
&ctx
);
30 ~ast_visitor_context (void);
32 // Accessors/mutators for template-related storage.
34 FE_Utils::T_PARAMLIST_INFO
*template_params (void) const;
35 void template_params (FE_Utils::T_PARAMLIST_INFO
*args
);
37 FE_Utils::T_ARGLIST
const *template_args (void) const;
38 void template_args (FE_Utils::T_ARGLIST
const *args
);
41 // Storage for the current template module params and args.
42 FE_Utils::T_PARAMLIST_INFO
*template_params_
;
43 FE_Utils::T_ARGLIST
const *template_args_
;
46 #endif /* AST_VISITOR_CONTEXT_H */