All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class harpoon.IR.QuadSSA.INSTANCEOF

java.lang.Object
   |
   +----harpoon.IR.QuadSSA.Quad
           |
           +----harpoon.IR.QuadSSA.INSTANCEOF

public class INSTANCEOF
extends Quad
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.

It is a semantic error for the src Temp to be able to have the value null at run-time. A separate null-pointer test should always precede the INSTANCEOF quad if src may be null at run-time. Standard java instanceof returns true given a null source object.

Version:
$Id: INSTANCEOF.java,v 1.9 1998/10/11 02:37:56 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Variable Index

 o dst
The temp in which to store the result of the evaluation.
 o hclass
The class in which src is tested for membership.
 o src
The temp to evaluate.

Constructor Index

 o INSTANCEOF(HCodeElement, Temp, Temp, HClass)
Creates a INSTANCEOF.

Method Index

 o def()
Returns the Temps defined by this quad.
 o renameDefs(TempMap)
Rename all defined variables in this Quad according to a mapping.
 o renameUses(TempMap)
Rename all used variables in this Quad according to a mapping.
 o toString()
Returns a human-readable representation of this Quad.
 o use()
Returns the Temps used by this quad.
 o visit(QuadVisitor)
Accept a visitor.

Variables

 o dst
 public Temp dst
The temp in which to store the result of the evaluation.

 o src
 public Temp src
The temp to evaluate.

 o hclass
 public HClass hclass
The class in which src is tested for membership.

Constructors

 o INSTANCEOF
 public INSTANCEOF(HCodeElement source,
                   Temp dst,
                   Temp src,
                   HClass hclass)
Creates a INSTANCEOF.

Methods

 o use
 public Temp[] use()
Returns the Temps used by this quad.

Overrides:
use in class Quad
 o def
 public Temp[] def()
Returns the Temps defined by this quad.

Overrides:
def in class Quad
 o renameUses
 public void renameUses(TempMap tm)
Rename all used variables in this Quad according to a mapping.

Overrides:
renameUses in class Quad
 o renameDefs
 public void renameDefs(TempMap tm)
Rename all defined variables in this Quad according to a mapping.

Overrides:
renameDefs in class Quad
 o visit
 public void visit(QuadVisitor v)
Accept a visitor.

Overrides:
visit in class Quad
 o toString
 public String toString()
Returns a human-readable representation of this Quad.

Overrides:
toString in class Quad

All Packages  Class Hierarchy  This Package  Previous  Next  Index