Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_scope.h
blob6eab19ad9e0334f84871b8bab949e06d47726627
1 /* -*- c++ -*- */
3 //=============================================================================
4 /**
5 * @file be_scope.h
7 * Extension of the UTL_Scope CFE class
9 * @author Copyright 1994-1995 by Sun Microsystems Int.
10 * @author and Aniruddha Gokhale
12 //=============================================================================
15 #ifndef TAO_BE_SCOPE_H
16 #define TAO_BE_SCOPE_H
18 #include "utl_scope.h"
19 #include "ast_decl.h"
21 class be_decl;
22 class be_visitor;
23 class UTL_ExceptList;
25 /**
26 * @class be_scope
28 * @brief be_scope
30 * The back end extension of the UTL_Scope class
32 class be_scope : public virtual UTL_Scope
34 public:
35 /// Default constructor.
36 be_scope ();
38 /// Constructor that sets the node type.
39 be_scope (AST_Decl::NodeType nt);
41 /// Destructor.
42 virtual ~be_scope ();
44 /// To access the protected base class method fe_add_field.
45 AST_Field *be_add_field (AST_Field *f);
47 /// Overridden in be_operation and be_factory.
48 virtual AST_Argument *be_add_argument (AST_Argument *arg);
50 /// Set the comma producing state.
51 virtual void comma (unsigned short set);
53 /// Get the comma producing state.
54 int comma () const;
56 /// Return the be_decl node corresponding to this scope node.
57 virtual be_decl *decl ();
59 /// Recursively clean up scope members.
60 virtual void destroy ();
62 /// Visiting.
63 virtual int accept (be_visitor *visitor);
65 private:
66 /// If set, generate a comma after every element is handled.
67 unsigned short comma_;
70 #endif // if !defined