| 
 | |||||||||
| 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.UnaryExpr
scale.score.expr.BitComplementExpr
public class BitComplementExpr
This class represents the bit complement operation.
$Id: BitComplementExpr.java,v 1.22 2007-04-27 18:04:35 burrill Exp $
 Copyright 2007 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 | |
|---|---|
| BitComplementExpr(Expr e1)The expression type is the same as the type of expression e1. | |
| BitComplementExpr(Type t,
                  Expr e1) | |
| Method Summary | |
|---|---|
|  Expr | copy()Perform a deep copy of the expression tree. | 
|  Literal | getConstantValue()Return the constant value of the expression. | 
|  Literal | getConstantValue(HashMap<Expr,Literal> cvMap)Return the constant value of the expression. | 
|  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.UnaryExpr | 
|---|
| containsDeclaration, dependsOnDeclaration, equivalent, executionCostEstimate, getAliasAnnote, getArg, getDeclList, getExprList, getLoadExprList, getOperand, getOperandArray, loopClean, numOperands, optimizationCandidate, pushOperands, recordRefs, removeRefs, removeUseDef, replaceDecl, setArg, 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 BitComplementExpr(Type t,
                         Expr e1)
public BitComplementExpr(Expr e1)
| 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 Exprpublic Literal getConstantValue(HashMap<Expr,Literal> cvMap)
getConstantValue in class ExprLatticepublic Literal getConstantValue()
getConstantValue in class ExprLattice| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||