summaryrefslogtreecommitdiff
path: root/ACE/TAO/TAO_IDL/be_include/be_uses.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/TAO_IDL/be_include/be_uses.h')
-rw-r--r--ACE/TAO/TAO_IDL/be_include/be_uses.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/ACE/TAO/TAO_IDL/be_include/be_uses.h b/ACE/TAO/TAO_IDL/be_include/be_uses.h
new file mode 100644
index 00000000000..497743b5b99
--- /dev/null
+++ b/ACE/TAO/TAO_IDL/be_include/be_uses.h
@@ -0,0 +1,49 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef BE_USES_H
+#define BE_USES_H
+
+#include "ast_uses.h"
+
+#include "be_field.h"
+
+class be_interface;
+class be_visitor;
+
+class be_uses : public virtual AST_Uses,
+ public virtual be_field
+{
+public:
+ be_uses (UTL_ScopedName *n,
+ AST_Type *uses_type,
+ bool is_multiple);
+
+ virtual ~be_uses (void);
+
+ // Non-virtual override of frontend method.
+ be_type *uses_type (void) const;
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(be_uses);
+
+ // Visiting.
+ virtual int accept (be_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+
+ void original_uses (be_uses *original_uses);
+ // Sets the original uses from which this one was created,
+ // applies only to implied IDL.
+
+ be_uses *original_uses ();
+ // Returns the original uses from which this one was created,
+ // applies only to implied IDL
+
+private:
+ be_uses *original_uses_;
+};
+
+#endif // BE_USES_H
+