scale.clef.expr
Class MaximumOp
java.lang.Object
   scale.common.Root
scale.common.Root
       scale.clef.Node
scale.clef.Node
           scale.clef.expr.Expression
scale.clef.expr.Expression
               scale.clef.expr.DyadicOp
scale.clef.expr.DyadicOp
                   scale.clef.expr.MaximumOp
scale.clef.expr.MaximumOp
- All Implemented Interfaces: 
- AnnotationInterface, DisplayNode
- public class MaximumOp 
- extends DyadicOp
This class represents the max(a, b) operation.
 
 $Id: MaximumOp.java,v 1.27 2005-02-07 21:27:58 burrill Exp $
 
 Copyright 2005 by the Scale Compiler Group,
 Department of Computer Science
 University of Massachusetts,
 Amherst MA. 01003, USA
 All Rights Reserved.
 
 
| Methods inherited from class scale.clef.expr.DyadicOp | 
| containsDeclaration, equivalent, getChild, getDeclList, getExpr1, getExpr2, getLhs, getRhs, isSimpleOp, numChildren, setExpr1, setExpr2, setLhs, setRhs | 
 
 
 
| Methods inherited from class scale.common.Root | 
| addAnnotation, allAnnotations, allMatchingAnnotations, getAnnotation, getDisplayName, getDisplayString, getNodeCount, getNodeID, hasAnnotation, hasEqualAnnotation, hashCode, removeAnnotation, removeAnnotations, toStringAnnotations, toStringClass, trace, trace, trace | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait | 
 
MaximumOp
public MaximumOp(Type type,
                 Expression e1,
                 Expression e2)
visit
public void visit(Predicate p)
- Description copied from class: Node
- Process a node by calling its associated routine.
 See the "visitor" design pattern in Design Patterns:
 Elements of Reusable Object-Oriented Software by E. Gamma,
 et al, Addison Wesley, ISBN 0-201-63361-2.
 
 Each class has a visit(Predicate p)method.  For
 example, inclass ABC:
 
   public void visit(Predicate p)
   {
     p.visitABC(this);
   }
 and the class that implementsPredicatehas a method
   public void visitABC(Node n)
   {
     ABC a = (ABC) n;
     ...
   }
 Thus, the class that implementsPredicatecan call
   n.visit(this);
  wherenis aNodesub-class without
 determining which specific sub-classnis.
 The visit pattern basically avoids implementing a largeswitchstatement or defining different methods
 in each class for some purpose.
 
- 
- Overrides:
- visitin class- DyadicOp
 
- 
- See Also:
- Predicate
 
getConstantValue
public Literal getConstantValue()
- Return the constant value of the expression.
 
- 
- Overrides:
- getConstantValuein class- Expression
 
- 
- See Also:
- Lattice