Class JExitMonitorStmt

java.lang.Object
sootup.core.jimple.common.stmt.AbstractStmt
sootup.core.jimple.javabytecode.stmt.JExitMonitorStmt
All Implemented Interfaces:
EquivTo, FallsThroughStmt, Stmt, Acceptor<StmtVisitor>

public final class JExitMonitorStmt extends AbstractStmt implements FallsThroughStmt
A statement that exits a JVM monitor, thereby ending synchronization.
  • Constructor Details

  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      public void toString(@NonNull StmtPrinter up)
      Specified by:
      toString in interface Stmt
    • isJExitMonitorStmt

      public boolean isJExitMonitorStmt()
      Specified by:
      isJExitMonitorStmt in interface Stmt
    • asJExitMonitorStmt

      public JExitMonitorStmt asJExitMonitorStmt()
      Specified by:
      asJExitMonitorStmt in interface Stmt
    • toJExitMonitorStmt

      public Optional<JExitMonitorStmt> toJExitMonitorStmt()
      Specified by:
      toJExitMonitorStmt in interface Stmt
    • accept

      public <V extends StmtVisitor> V accept(@NonNull V v)
      Description copied from interface: Acceptor
      Called when this object is visited.
      Specified by:
      accept in interface Acceptor<StmtVisitor>
    • 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).
      Specified by:
      fallsThrough in interface FallsThroughStmt
      Specified by:
      fallsThrough in interface Stmt
    • 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.
      Specified by:
      branches in interface Stmt
    • equivTo

      public boolean equivTo(@NonNull Object o, @NonNull JimpleComparator comparator)
      Description copied from interface: EquivTo
      Returns true if this object is equivalent to o according to the given comparator.
      Specified by:
      equivTo in interface EquivTo
    • withOp

      public @NonNull JExitMonitorStmt withOp(@NonNull Immediate op)
    • withPositionInfo

      public @NonNull JExitMonitorStmt withPositionInfo(@NonNull StmtPositionInfo positionInfo)
    • getOp

      public @NonNull Immediate getOp()
    • getUses

      public @NonNull 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
    • equivHashCode

      public int equivHashCode()
      Description copied from interface: EquivTo
      Returns a (not necessarily fixed) hash code for this object. This hash code coincides with equivTo; it is undefined in the presence of mutable objects. The contract is defined in JimpleComparator.
      Specified by:
      equivHashCode in interface EquivTo