|
|||||||||
| 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.type.Type
scale.clef.type.AtomicType
scale.clef.type.NumericType
scale.clef.type.BooleanType
public class BooleanType
This class represents the boolean type.
$Id: BooleanType.java,v 1.35 2007-03-21 13:31:55 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 | |
|---|---|
static BooleanType |
type
There is only one instance of a boolean type. |
| Method Summary | |
|---|---|
int |
bitSize()
Return the number of bits required to represent the type. |
boolean |
equivalent(Type t)
Return true if the types are equivalent. |
boolean |
isBooleanType()
Return true if type represents a boolean type. |
BooleanType |
returnBooleanType()
Return if this is a BooleanType
return this. |
java.lang.String |
toString()
|
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. |
void |
visit(TypePredicate p)
Process a node by calling its associated routine. |
| Methods inherited from class scale.clef.type.NumericType |
|---|
isNumericType, returnNumericType |
| Methods inherited from class scale.clef.type.AtomicType |
|---|
alignment, isAtomicType, memorySize, returnAtomicType |
| Methods inherited from class scale.clef.Node |
|---|
getChild, getDecl, getSourceLineNumber, numChildren, setAnnotationLevel, setReportLevel, setSourceLineNumber, 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 |
| Field Detail |
|---|
public static final BooleanType type
| Method Detail |
|---|
public final boolean isBooleanType()
Type
isBooleanType in class Typepublic final BooleanType returnBooleanType()
Typethis is a BooleanType
return this. Otherwise, return null.
returnBooleanType in class Typepublic java.lang.String toString()
toString in class Typepublic java.lang.String toStringSpecial()
Node
toStringSpecial in class Nodepublic 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 NumericTypePredicatepublic void visit(TypePredicate p)
Type
Each type class has a visit(TypePredicate 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 TypePredicate 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 NumericTypeTypePredicatepublic boolean equivalent(Type t)
equivalent in class Typepublic int bitSize()
AtomicType
bitSize in class AtomicType
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||