|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.common.Root
scale.score.Note
scale.score.expr.Expr
scale.score.expr.NaryExpr
scale.score.expr.VectorExpr
public class VectorExpr
This class represents a Vector expression.
$Id: VectorExpr.java,v 1.27 2006-02-28 16:37:14 burrill Exp $
Copyright 2008 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
| Field Summary |
|---|
| Fields inherited from class scale.score.expr.Expr |
|---|
fpReorder, SE_DOMAIN, SE_NONE, SE_OVERFLOW, SE_STATE |
| Constructor Summary | |
|---|---|
VectorExpr(Type type,
Vector<Expr> operands)
Create an expression that represents construction of a vector. |
|
| Method Summary | |
|---|---|
Expr |
copy()
Perform a deep copy of the expression tree. |
java.lang.String |
getDisplayLabel()
Return a String suitable for labeling this node in a graphical display. |
void |
visit(Predicate p)
Process a node by calling its associated routine. |
| Methods inherited from class scale.score.expr.NaryExpr |
|---|
addOperand, containsDeclaration, dependsOnDeclaration, equivalent, executionCostEstimate, getDeclList, getExprList, getLoadExprList, getOperand, getOperandArray, loopClean, numOperands, optimizationCandidate, pushOperands, recordRefs, removeOperand, removeRefs, removeUseDef, replaceDecl, setOperand, sideEffects, unlinkExpression, validate |
| Methods inherited from class scale.score.Note |
|---|
getChord, getEssentialUse, setAnnotationLevel, setReportLevel, toString |
| 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 VectorExpr(Type type,
Vector<Expr> operands)
All incoming values should be of the same type. The result type is the same as that of the incoming data.
type - of each vector elementoperands - each vector element| Method Detail |
|---|
public Expr copy()
Expr
copy in class Exprpublic void visit(Predicate p)
Note
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(Note n)
{
ABC a = (ABC) n;
...
}
Thus, the class that implements Predicate can call
n.visit(this);where
n is a Note 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 NotePredicatepublic java.lang.String getDisplayLabel()
Expr
getDisplayLabel in interface DisplayNodegetDisplayLabel in class Expr
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||