Polaris: AnyOfType Class Reference

AnyOfType Class Reference

Wildcard expression for specified OP_TYPE. More...

#include <AnyOfType.h>

Inheritance diagram for AnyOfType:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 AnyOfType (OP_TYPE op_type_to_match)
 AnyOfType (const AnyOfType &other)
virtual int structures_OK () const
 class AnyOfType
virtual Expressionclone () const
 Return a copy of myself.
virtual void print_debug (ostream &o, Boolean debug) const
 debug indicates whether it should contain extra fields
virtual Boolean _try_for_match (Expression &e, Boolean consider_side_effects)
virtual const ExprSignatureupdate_signature ()
 Update my signature and return it.
virtual int node_compare (const Expression &ex) const
 Assuming that the the two expressions have the same operation and expression type, return either -1, 0, or 1, indicating that the other expression is less than, equal, or greater than myself.

Protected Attributes

OP_TYPE _op_type_to_match

Detailed Description

Wildcard expression for specified OP_TYPE.

Polaris Base

See also:
Wildcard/AnyOfType.h

Wildcard/Wildcard.cc

Wildcard/AnyOfType.h

Description

AnyOfType is a wildcard expression which matches any expression node of a given OP_TYPE (see Expression).

For more details, please see Wildcard.

Definition at line 29 of file AnyOfType.h.


Constructor & Destructor Documentation

AnyOfType::AnyOfType OP_TYPE  op_type_to_match  ) 
 

Definition at line 643 of file Wildcard.cc.

References _op_type_to_match, ANY_EXPR_OF_TYPE_WC, make_type(), and UNKNOWN_TYPE.

Referenced by clone().

AnyOfType::AnyOfType const AnyOfType other  ) 
 

Definition at line 650 of file Wildcard.cc.

References _op_type_to_match, and ANY_EXPR_OF_TYPE_WC.


Member Function Documentation

int AnyOfType::structures_OK void   )  const [virtual]
 

class AnyOfType

Implements Wildcard.

Definition at line 612 of file Wildcard.cc.

References True.

Expression * AnyOfType::clone  )  const [virtual]
 

Return a copy of myself.

Implements Wildcard.

Reimplemented in AnyOfSpecificType.

Definition at line 618 of file Wildcard.cc.

References AnyOfType().

virtual void AnyOfType::print_debug ostream &  o,
Boolean  debug
const [virtual]
 

debug indicates whether it should contain extra fields

Implements Wildcard.

Reimplemented in AnyOfSpecificType.

virtual Boolean AnyOfType::_try_for_match Expression e,
Boolean  consider_side_effects
[virtual]
 

Implements Wildcard.

const ExprSignature & AnyOfType::update_signature  )  [virtual]
 

Update my signature and return it.

It is assumed that the signatures of my subexpressions are correct. Also call _clear() on all wildcard descendants.

Implements Wildcard.

Definition at line 998 of file Wildcard.cc.

References _op_type_to_match, Expression::_signature_live(), Wildcard::_wildcard_update_signature(), ExprSignature::merge(), and Expression::signature().

int AnyOfType::node_compare const Expression ex  )  const [virtual]
 

Assuming that the the two expressions have the same operation and expression type, return either -1, 0, or 1, indicating that the other expression is less than, equal, or greater than myself.

Implements Wildcard.

Definition at line 1053 of file Wildcard.cc.

References _op_type_to_match, and ANY_EXPR_OF_TYPE_WC.


Member Data Documentation

OP_TYPE AnyOfType::_op_type_to_match [protected]
 

Definition at line 31 of file AnyOfType.h.

Referenced by AnyOfType(), node_compare(), and update_signature().


The documentation for this class was generated from the following files:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:06:40 2005