| 
 | |||||||||
| 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.Literal
scale.clef.expr.IntArrayLiteral
public class IntArrayLiteral
A class which represents a integer literal array.
$Id: IntArrayLiteral.java,v 1.37 2007-10-04 19:58:05 burrill Exp $
 Copyright 2007 by the
 Scale Compiler Group,
 Department of Computer Science
 University of Massachusetts,
 Amherst MA. 01003, USA
 All Rights Reserved.
| Constructor Summary | |
|---|---|
| IntArrayLiteral(Type type,
                int size) | |
| Method Summary | |
|---|---|
|  void | addElement(long v)Add a new value to the end of the array. | 
|  boolean | equivalent(java.lang.Object exp)Return true if the two expressions are equivalent. | 
|  long[] | getArrayValue()Return the array of values of the literal. | 
|  int | getCount()Return the number of elements in the Literal. | 
|  Literal | getElement(long index)Return the specified element of the constant. | 
|  java.lang.String | getGenericValue()Get the string version of the literal using C syntax. | 
|  long | getValue(int i)Return the i-th value. | 
|  void | setValue(int i,
         long value)Set the i-th value. | 
|  int | size()Return the size of the array. | 
|  java.lang.String | toStringSpecial()This method allows sub-classes to provide class specific stuff to the string. | 
|  void | visit(Predicate p)Process a node by calling its associated routine. | 
| Methods inherited from class scale.clef.expr.Literal | 
|---|
| executionCostEstimate, findCoefficient, formatRealValue, getConstantValue, getDeclList, getDisplayLabel, isOne, isZero, linearity | 
| Methods inherited from class scale.clef.expr.Expression | 
|---|
| canonical, containsDeclaration, getCoreType, getDisplayColorHint, getDisplayShapeHint, getPointedToCore, getType, hasTrueFalseResult, isSimpleOp, setType | 
| Methods inherited from class scale.clef.Node | 
|---|
| getChild, getDecl, getSourceLineNumber, numChildren, 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 IntArrayLiteral(Type type,
                       int size)
| Method Detail | 
|---|
public boolean equivalent(java.lang.Object exp)
equivalent in class Expressionpublic int size()
public java.lang.String toStringSpecial()
Node
toStringSpecial in class Expressionpublic 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 LiteralPredicatepublic final java.lang.String getGenericValue()
getGenericValue in class Literalpublic long[] getArrayValue()
public long getValue(int i)
public void setValue(int i,
                     long value)
public final void addElement(long v)
public int getCount()
getCount in class Literal
public Literal getElement(long index)
                   throws InvalidException
getElement in class LiteralInvalidException| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||