Class AbstractDefinitionStmt

java.lang.Object
sootup.core.jimple.common.stmt.AbstractStmt
sootup.core.jimple.common.stmt.AbstractDefinitionStmt
All Implemented Interfaces:
EquivTo, Stmt, Acceptor<StmtVisitor>
Direct Known Subclasses:
JAssignStmt, JIdentityStmt

public abstract class AbstractDefinitionStmt extends AbstractStmt
  • Method Details

    • getLeftOp

      @Nonnull public abstract LValue getLeftOp()
    • getRightOp

      @Nonnull public abstract Value getRightOp()
    • getType

      @Nonnull public Type getType()
    • getDef

      @Nonnull public Optional<LValue> getDef()
      Description copied from class: AbstractStmt
      Returns a list of Values defined in this Stmt. There are languages which allow multiple return types/assignments so we return a List
      Specified by:
      getDef in interface Stmt
      Overrides:
      getDef in class AbstractStmt
    • getUses

      @Nonnull public final Stream<Value> getUses()
      Description copied from class: AbstractStmt
      Returns a list of Values used in this Stmt. Note that they are returned in usual evaluation order.
      Specified by:
      getUses in interface Stmt
      Overrides:
      getUses in class AbstractStmt
    • fallsThrough

      public boolean fallsThrough()
      Description copied from interface: Stmt
      Returns true if execution after this statement may continue at the following statement. (e.g. GotoStmt will return false and e.g. IfStmt will return true).
    • branches

      public boolean branches()
      Description copied from interface: Stmt
      Returns true if execution after this statement does not necessarily continue at the following statement. The BranchingStmt's GotoStmt, JSwitchStmt and IfStmt will return true.
    • withNewDef

      @Nonnull public abstract FallsThroughStmt withNewDef(@Nonnull Local newLocal)