Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_attribute.h
blob40f1ccf330a919ed1410a18eb3bca802fe39241e
2 //=============================================================================
3 /**
4 * @file be_attribute.h
6 * Extension of class AST_Attribute that provides additional means for C++
7 * mapping.
9 * @author Copyright 1994-1995 by Sun Microsystems
10 * @author Inc. and Aniruddha Gokhale
12 //=============================================================================
14 #ifndef BE_ATTRIBUTE_H
15 #define BE_ATTRIBUTE_H
17 #include "ast_attribute.h"
18 #include "be_field.h"
20 class AST_Type;
21 class be_visitor;
23 class be_attribute : public virtual AST_Attribute,
24 public virtual be_field
26 public:
27 be_attribute (bool ro,
28 AST_Type *ft,
29 UTL_ScopedName *n,
30 bool local,
31 bool abstract);
33 // Non-virtual override of frontend method.
34 be_type *field_type () const;
36 // Visiting.
37 virtual int accept (be_visitor *visitor);
39 /// Cleanup.
40 virtual void destroy ();
42 /// Sets the original attribute from which this one was created,
43 /// applies only to implied IDL.
44 void original_attribute (be_attribute *original_attribute);
46 /// Returns the original attribute from which this one was created,
47 /// applies only to implied IDL
48 be_attribute *original_attribute ();
51 #endif