| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.common.Root
scale.clef.Node
scale.clef.expr.Expression
scale.clef.expr.DyadicOp
scale.clef.expr.ComplexOp
public class ComplexOp
A class which represents the operation using two values to create a complex value.
$Id: ComplexOp.java,v 1.8 2006-09-10 19:35:05 burrill Exp $
 Copyright 2006 by the Scale Compiler Group,
 Department of Computer Science
 University of Massachusetts,
 Amherst MA. 01003, USA
 All Rights Reserved.
 
| Constructor Summary | |
|---|---|
| ComplexOp(ComplexType resultType,
          Expression real,
          Expression imag)Create an instance of a complex value from two expressions. | |
| Method Summary | |
|---|---|
|  Literal | getConstantValue()Return the constant value of the expression. | 
|  void | visit(Predicate p)Process a node by calling its associated routine. | 
| 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.clef.expr.Expression | 
|---|
| canonical, getCoreType, getDisplayColorHint, getDisplayLabel, getDisplayShapeHint, getPointedToCore, getType, hasTrueFalseResult, setType, toStringSpecial | 
| Methods inherited from class scale.clef.Node | 
|---|
| getDecl, getSourceLineNumber, setAnnotationLevel, setReportLevel, setSourceLineNumber, toString, toString, toStringChildren | 
| 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 | 
| Constructor Detail | 
|---|
public ComplexOp(ComplexType resultType,
                 Expression real,
                 Expression imag)
resultType - is the type of the operationreal - specifies the real partimag - specifies the imaginary part| Method Detail | 
|---|
public void visit(Predicate p)
Node
 Each class has a visit(Predicate p) method.  For
 example, in class ABC:
 
   public void visit(Predicate p)
   {
     p.visitABC(this);
   }
 
 and the class that implements Predicate has a method
 
   public void visitABC(Node n)
   {
     ABC a = (ABC) n;
     ...
   }
 
 Thus, the class that implements Predicate can call
 n.visit(this);where
n is a Node sub-class without
 determining which specific sub-class n is.
 The visit pattern basically avoids implementing a large
 switch statement or defining different methods
 in each class for some purpose.
visit in class DyadicOpPredicatepublic Literal getConstantValue()
getConstantValue in class ExpressionLattice| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||