Class JParameterRef

java.lang.Object
sootup.core.jimple.common.ref.JParameterRef
All Implemented Interfaces:
EquivTo, Value, IdentityRef, Ref, Acceptor<RefVisitor>

public final class JParameterRef extends Object implements IdentityRef
ParameterRef objects are used by Body objects to refer to the parameter slots on method entry.

For instance, in a method, the first statement will often be this := @parameter0;

  • Constructor Details

    • JParameterRef

      public JParameterRef(@Nonnull Type paramType, @Nonnull int number)
      Constructs a ParameterRef object of the specified type, representing the specified parameter number.
  • Method Details

    • 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
    • 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
    • toString

      public String toString()
      Converts the given ParameterRef into a String i.e. @parameter0: .int.
      Overrides:
      toString in class Object
    • toString

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

      public int getIndex()
      Returns the num of this ParameterRef.
    • getUses

      @Nonnull public 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:
    • getType

      @Nonnull public Type getType()
      Returns the type of this ParameterRef.
      Specified by:
      getType in interface Value
    • accept

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

      @Nonnull public JParameterRef withParamType(@Nonnull Type paramType)
    • withNumber

      @Nonnull public JParameterRef withNumber(@Nonnull int number)