Class DefExpr

  • All Implemented Interfaces:
    java.lang.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 Detail

      • DefExpr

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

      • 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:
        Assign.defs()
      • uses

        public java.util.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)