Class DefExpr

All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
MemExpr

public abstract class DefExpr extends Expr
An expression in which a definition occurs. Each instance has a unique version number associated with it.
  • Constructor Details

    • DefExpr

      public DefExpr(Type type)
      Constructor.
      Parameters:
      type - The Type (descriptor) of this expression
  • Method Details

    • cleanupOnly

      public void cleanupOnly()
      Clean up this expression. Notify all the expressions that use this definition that it is no longer their defining expression.
      Overrides:
      cleanupOnly in class Expr
    • version

      public int version()
      Returns Number DefExpr this is. This is also the SSA version number of the expression that this DefExpr defines.
    • isDef

      public boolean isDef()
      Determines whether or not this DefExpr defines a local variable in its parent.
      Overrides:
      isDef in class Expr
      See Also:
    • uses

      public Collection uses()
      Returns the Exprs in which the variable defined by this are used.
    • hasUse

      public boolean hasUse(Expr use)
    • addUse

      protected void addUse(Expr use)
    • removeUse

      protected void removeUse(Expr use)