Class InvokeExp

java.lang.Object
pascal.taie.ir.exp.InvokeExp
All Implemented Interfaces:
Serializable, Exp, RValue
Direct Known Subclasses:
InvokeDynamic, InvokeInstanceExp, InvokeStatic

public abstract class InvokeExp extends Object implements RValue
Representation of method invocation expression.
See Also:
  • Field Details

    • methodRef

      protected final MethodRef methodRef
      The method reference at the invocation.
    • args

      protected final List<Var> args
      The arguments of the invocation.
  • Constructor Details

  • Method Details

    • getType

      public Type getType()
      Specified by:
      getType in interface Exp
      Returns:
      type of this expression.
    • getMethodRef

      public MethodRef getMethodRef()
      Returns:
      the method reference at the invocation.
    • getArgCount

      public int getArgCount()
      Returns:
      the number of the arguments of the invocation.
    • getArg

      public Var getArg(int i)
      Returns:
      the i-th argument of the invocation.
      Throws:
      IndexOutOfBoundsException - if the index is out of range (index < 0 || index ≥ getArgCount())
    • getArgs

      public List<Var> getArgs()
      Returns:
      a list of arguments of the invocation.
    • getInvokeString

      public abstract String getInvokeString()
    • getArgsString

      public String getArgsString()
    • getUses

      public Set<RValue> getUses()
      Specified by:
      getUses in interface Exp
      Returns:
      a list of expressions which are used by (contained in) this Exp.