summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be_include/be_array.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be_include/be_array.h')
-rw-r--r--TAO/TAO_IDL/be_include/be_array.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be_include/be_array.h b/TAO/TAO_IDL/be_include/be_array.h
new file mode 100644
index 00000000000..f5d5ffe7049
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_array.h
@@ -0,0 +1,70 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_array.h
+//
+// = DESCRIPTION
+// Extension of class AST_Array that provides additional means for C++
+// mapping.
+//
+// = AUTHOR
+// Copyright 1994-1995 by Sun Microsystems, Inc.
+// and
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef BE_ARRAY_H
+#define BE_ARRAY_H
+
+#include "be_type.h"
+#include "ast_array.h"
+
+class UTL_ExprList;
+class TAO_OutStream;
+class be_visitor;
+
+class be_array : public virtual AST_Array,
+ public virtual be_type
+{
+public:
+ be_array (void);
+ // Default constructor.
+
+ be_array (UTL_ScopedName *n,
+ unsigned long ndims,
+ UTL_ExprList *dims,
+ bool local,
+ bool abstract);
+ // Constructor.
+
+ ~be_array (void);
+
+ int gen_dimensions (TAO_OutStream *os,
+ unsigned short slice = 0);
+ // Generate dimensions. If slice == 1, generate dimensions for the slice
+ // definition.
+
+ // Visiting.
+ virtual int accept (be_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+
+ // Narrowing.
+ DEF_NARROW_METHODS2 (be_array, AST_Array, be_type);
+ DEF_NARROW_FROM_DECL (be_array);
+
+protected:
+ virtual int create_name (void);
+ // Create a name for us.
+
+ virtual void compute_tc_name (void);
+};
+
+#endif