Polaris: AnyOfType.h Source File

AnyOfType.h

Go to the documentation of this file.
00001 ///
00002 /// \class AnyOfType 
00003 /// \brief Wildcard expression for specified OP_TYPE
00004 /// \defgroup Polaris
00005 /// \ingroup Polaris
00006 ///  Base
00007 /// \see Wildcard/AnyOfType.h
00008 /// \see Wildcard/Wildcard.cc
00009 /// \see Wildcard/AnyOfType.h
00010 ///
00011 /// \endcode
00012 /// \section Description Description
00013 /// AnyOfType is a wildcard expression which matches any
00014 /// expression node of a given OP_TYPE (see Expression).
00015 ///
00016 /// For more details, please see Wildcard.
00017 ///
00018 #ifndef _ANY_OF_TYPE_H
00019 #define _ANY_OF_TYPE_H
00020 ///
00021 #ifdef POLARIS_GNU_PRAGMAS
00022 #pragma interface
00023 #endif
00024 ///
00025 #ifndef _WILDCARD_H
00026 #include "Wildcard.h"
00027 #endif
00028 ///
00029 class AnyOfType : public Wildcard {
00030  protected:
00031     OP_TYPE _op_type_to_match;
00032 
00033  public:
00034     AnyOfType(OP_TYPE op_type_to_match);
00035     AnyOfType(const AnyOfType &other);
00036 
00037     virtual int structures_OK() const;
00038     virtual Expression *clone() const;
00039     virtual void print_debug(ostream &o, Boolean debug) const;
00040     virtual Boolean _try_for_match(Expression &e, 
00041                                    Boolean consider_side_effects);
00042 
00043     virtual const ExprSignature & update_signature();
00044     virtual int node_compare(const Expression &ex) const;
00045 };
00046 
00047 #endif
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:05:37 2005