Changes to attempt to silence bcc64x
[ACE_TAO.git] / TAO / TAO_IDL / include / ast_structure_fwd.h
blob4f9e4b6d84fb5e5eae2d9005fbe38cc10f25e9fc
1 #ifndef _AST_STRUCTURE_FWD_AST_STRUCTURE_FWD_HH
2 #define _AST_STRUCTURE_FWD_AST_STRUCTURE_FWD_HH
4 #include "ast_type.h"
5 class AST_Structure;
7 // Representation of a forward structure declaration.
9 class TAO_IDL_FE_Export AST_StructureFwd : public virtual AST_Type
11 public:
12 AST_StructureFwd (AST_Structure *full_defn,
13 UTL_ScopedName *n);
15 virtual ~AST_StructureFwd ();
17 AST_Structure *full_definition ();
18 void set_full_definition (AST_Structure *nfd);
20 virtual bool is_defined ();
21 void set_as_defined ();
23 // Cleanup function.
24 virtual void destroy ();
26 // AST Dumping.
27 virtual void dump (ACE_OSTREAM_TYPE &);
29 // Visiting.
30 virtual int ast_accept (ast_visitor *visitor);
32 // Is this decl a forward declared type (Yes)
33 virtual bool is_fwd ();
35 // We don't actually want the forward declaration,
36 // but want to return the full definition member,
37 // whether defined yet or not.
38 virtual AST_Decl *adjust_found (bool ignore_fwd, bool full_def_only);
40 static AST_Decl::NodeType const NT;
42 private:
43 AST_Structure *pd_full_definition;
44 // The structure this is a forward declaration of.
46 bool is_defined_;
47 // Checking the member above isn't good enough.
50 #endif // _AST_STRUCTURE_FWD_AST_STRUCTURE_FWD_HH