|
|||||||||
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 partMethod 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 DyadicOp
Predicate
public Literal getConstantValue()
getConstantValue
in class Expression
Lattice
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |