IIR_ArrayTypeDefinition.hh

Go to the documentation of this file.
00001 
00002 #ifndef IIR_ARRAY_TYPE_DEFINITION_HH
00003 #define IIR_ARRAY_TYPE_DEFINITION_HH
00004 
00005 // Copyright (c) 1996-1999 The University of Cincinnati.  
00006 // All rights reserved.
00007 
00008 // UC MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF 
00009 // THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
00010 // TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
00011 // PARTICULAR PURPOSE, OR NON-INFRINGEMENT.  UC SHALL NOT BE LIABLE
00012 // FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
00013 // RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
00014 // DERIVATIVES.
00015 
00016 // By using or copying this Software, Licensee agrees to abide by the
00017 // intellectual property laws, and all other applicable laws of the
00018 // U.S., and the terms of this license.
00019 
00020 
00021 // You may modify, distribute, and use the software contained in this package
00022 // under the terms of the "GNU LIBRARY GENERAL PUBLIC LICENSE" version 2,
00023 // June 1991. A copy of this license agreement can be found in the file
00024 // "LGPL", distributed with this archive.
00025 
00026 // Authors: Philip A. Wilsey    phil.wilsey@uc.edu
00027 //          Dale E. Martin      dmartin@cliftonlabs.com
00028 
00029 //---------------------------------------------------------------------------
00030 
00031 #include "IIR_TypeDefinition.hh"
00032 
00033 class IIR_ScalarTypeDefinition;
00034 
00035 class IIR_ArrayTypeDefinition : public virtual IIR_TypeDefinition{
00036 
00037 public:
00038   virtual ~IIR_ArrayTypeDefinition() {}
00039 
00040   virtual void set_index_subtype( IIR_ScalarTypeDefinition *index_subtype ) = 0;
00041   virtual IIR_ScalarTypeDefinition *get_index_subtype() = 0;
00042 
00043   virtual void set_element_subtype( IIR_TypeDefinition *element_subtype ) = 0;
00044   virtual IIR_TypeDefinition *get_element_subtype() = 0;
00045 
00051   virtual IIR_TypeDefinition *get_final_subtype() = 0;
00052 
00053   // This method returns TRUE if the element_subtype is REALLY that of the
00054   // element, or FALSE if it's simply a placeholder for a mutlidimensional array.
00055   virtual IIR_Boolean is_element() = 0;
00056   virtual void set_is_element( IIR_Boolean ) = 0;
00057 
00058   virtual void set_declaration( IIR_Declaration *corresponding_decl ) = 0;
00059 };
00060 #endif

Generated on Fri Mar 31 11:04:13 2006 for Savant by  doxygen 1.4.6