|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectharpoon.IR.Quads.Quad
harpoon.IR.Quads.INSTANCEOF
public class INSTANCEOF
INSTANCEOF objects represent an 'instanceof' evaluation.
INSTANCEOF assigns a boolean value to a temporary after
evaluating whether a certain temporary is an instance of a given
class type.
In quad-with-try form ONLY:
The src Temp may have the value
null, in which case INSTANCEOF evaluates to
false.
In all other forms the src Temp
should always contain a provably non-null value at runtime.
(An explicit null-check may need to be added prior to the
INSTANCEOF if the value cannot be proven non-null.)
| Field Summary | |
|---|---|
protected Temp |
dst
The Temp in which to store the result of the test. |
protected HClass |
hclass
The class in which src is tested for membership. |
protected Temp |
src
The Temp to evaluate. |
| Fields inherited from class harpoon.IR.Quads.Quad |
|---|
arrayFactory |
| Constructor Summary | |
|---|---|
INSTANCEOF(QuadFactory qf,
HCodeElement source,
Temp dst,
Temp src,
HClass hclass)
Creates a INSTANCEOF representing a type check. |
|
| Method Summary | ||
|---|---|---|
|
accept(QuadValueVisitor<T> v)
|
|
void |
accept(QuadVisitor v)
Accept a visitor. |
|
Temp[] |
def()
Returns the Temps defined by this quad. |
|
Temp |
dst()
Returns the Temp in which to store the result of the
instanceof test. |
|
HClass |
hclass()
Returns the class in which src is tested for
membership. |
|
int |
kind()
Return an integer enumeration of the kind of this Quad. |
|
Quad |
rename(QuadFactory qqf,
TempMap defMap,
TempMap useMap)
Create a new Quad identical to the receiver, but
with all Temps renamed according to a mapping. |
|
Temp |
src()
Returns the Temp to test. |
|
String |
toString()
Returns a human-readable representation of this Quad. |
|
Temp[] |
use()
Returns the Temps used by this quad. |
|
| Methods inherited from class harpoon.IR.Quads.Quad |
|---|
addEdge, addEdges, addHandlers, clone, clone, clone, compareTo, defC, edgeC, edges, getFactory, getID, getLineNumber, getSourceFile, handlers, hashCode, isPred, isSucc, map, map, map, next, next, nextEdge, nextEdge, nextLength, pred, predC, prev, prev, prevEdge, prevEdge, prevLength, remove, removeHandlers, rename, replace, succ, succC, toLongString, transferHandlers, useC |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected Temp dst
Temp in which to store the result of the test.
protected Temp src
Temp to evaluate.
protected final HClass hclass
src is tested for membership.
| Constructor Detail |
|---|
public INSTANCEOF(QuadFactory qf,
HCodeElement source,
Temp dst,
Temp src,
HClass hclass)
INSTANCEOF representing a type check.
dst - the Temp in which to store the result of the test.src - the Temp to test.hclass - the class in which src is tested for membership.| Method Detail |
|---|
public Temp dst()
Temp in which to store the result of the
instanceof test.
public Temp src()
Temp to test.
public HClass hclass()
src is tested for
membership.
public Temp[] use()
Temps used by this quad.
use in interface UseDefableuse in class Quadpublic Temp[] def()
Temps defined by this quad.
def in interface UseDefabledef in class Quadpublic int kind()
QuadQuad. The enumerated values are defined in
QuadKind.
kind in class Quad
public Quad rename(QuadFactory qqf,
TempMap defMap,
TempMap useMap)
QuadQuad identical to the receiver, but
with all Temps renamed according to a mapping.
The new Quad will have no edges.
The new Quad will come from the specified
QuadFactory.
rename in class Quadpublic void accept(QuadVisitor v)
Quad
accept in class Quadpublic <T> T accept(QuadValueVisitor<T> v)
accept in class Quadpublic String toString()
toString in class Quad
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||