Class JPhiExpr

java.lang.Object
sootup.core.jimple.common.expr.JPhiExpr
All Implemented Interfaces:
EquivTo, Value, Expr, Acceptor<ExprVisitor>

public final class JPhiExpr extends Object implements Expr
Author:
Zun Wang
  • Constructor Details

  • Method Details

    • getArgs

      public @NonNull List<Local> getArgs()
    • getArgsSize

      public int getArgsSize()
    • getArg

      public @NonNull Local getArg(@NonNull BasicBlock<?> block)
    • getArg

      public @NonNull Local getArg(int index)
    • getArgIndex

      public int getArgIndex(@NonNull BasicBlock<?> block)
    • getBlocks

      public @NonNull List<BasicBlock<?>> getBlocks()
      Returns:
      a list of Preds in which each Pred corresponds to arg from args with the same list index.
    • getBlock

      public @NonNull BasicBlock<?> getBlock(@NonNull Local arg)
    • getBlock

      public @NonNull BasicBlock<?> getBlock(int index)
    • getArgToBlockMap

      public @NonNull Map<Local,BasicBlock<?>> getArgToBlockMap()
    • getUses

      public @NonNull Stream<Value> getUses()
      Description copied from interface: Value
      Returns a List of Locals,FieldRefs,ArrayRefs which are used by (ie contained within) this Expression or Reference.
      Specified by:
      getUses in interface Value
      Returns:
    • 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
    • equivTo

      public boolean equivTo(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
    • getType

      public @NonNull Type getType()
      Description copied from interface: Value
      Returns the Soot type of this Value.
      Specified by:
      getType in interface Value
    • toString

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

      public @NonNull String toString()
      Overrides:
      toString in class Object
    • withArgs

      public @NonNull JPhiExpr withArgs(@NonNull List<Local> args)
    • withArgToBlockMap

      public @NonNull JPhiExpr withArgToBlockMap(@NonNull Map<Local,BasicBlock<?>> argToBlock)
    • accept

      public <V extends ExprVisitor> V accept(@NonNull V v)
      Description copied from interface: Acceptor
      Called when this object is visited.
      Specified by:
      accept in interface Acceptor<ExprVisitor>