ACE+TAO-6_5_14
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_visitor_decl.h
blob266e0376faeaf5243689bf27fa5ac68067e62cc5
1 /* -*- c++ -*- */
2 //=============================================================================
3 /**
4 * @file be_visitor_decl.h
6 * Concrete visitor for the base "BE_Decl" node
8 * @author Aniruddha Gokhale and Carlos O'Ryan
9 */
10 //=============================================================================
12 #ifndef TAO_BE_VISITOR_DECL_H
13 #define TAO_BE_VISITOR_DECL_H
15 #include "be_visitor.h"
16 #include "be_codegen.h"
17 #include "be_helper.h"
19 /**
20 * @class be_visitor_decl
22 * @brief be_visitor_decl
24 * This is a concrete visitor for the be_decl node. Its only purpose is to
25 * maintain state information for the derived visitor
27 class be_visitor_decl : public be_visitor
29 public:
30 be_visitor_decl (be_visitor_context *ctx);
32 ~be_visitor_decl (void);
34 be_visitor_context *ctx (void);
36 protected:
37 /// Any context information required by the visitor.
38 be_visitor_context *ctx_;
40 /// Factors out common code used when one anonymous type is
41 /// contained by another.
42 int gen_anonymous_base_type (be_type *bt,
43 TAO_CodeGen::CG_STATE cg_state);
45 /// Our file stream.
46 TAO_OutStream &os_;
49 #endif // TAO_BE_VISITOR_DECL_H