Interface IDexCallSite

All Superinterfaces:
ICodeItem, IDexItem

public interface IDexCallSite extends IDexItem
A Dex call site item. Do not confuse with Java's CallSite - although the two are related.
  • Method Details

    • getCallSiteValues

      List<IDexValue> getCallSiteValues()
      Get the list of linker method (bootstrap method) arguments. The provided list contains at least 3 entries; the first three entries are: a method handle to the bootstrap method, a dynamic method name, a dynamic method type (prototype).
      Returns:
      a list containing at least 3 entries
    • getCallSiteValue

      IDexValue getCallSiteValue(int index)
      Get a value stored in this call site item.
      Parameters:
      index - the zero-based call site value index
      Returns:
      the call site value
    • getLinkerMethodHandleIndex

      int getLinkerMethodHandleIndex()
      Convenience method to retrieve the bootstrap method handle. Get the first value entry, which is an index into the method handles pool.
      Returns:
      the bootstrap method handle index
    • getLinkerMethodHandle

      IDexMethodHandle getLinkerMethodHandle()
      Convenience method to retrieve the bootstrap method handle.
      Returns:
      the bootstrap method handle
    • getDynamicMethodNameIndex

      int getDynamicMethodNameIndex()
      Convenience method to retrieve the target method name hint. Get the second value entry, which is an index into the string pool.
      Returns:
      the dynamic method name string index
    • getDynamicMethodName

      IDexString getDynamicMethodName()
      Get the method name.
      Returns:
      the dynamic method name
    • getDynamicMethodPrototypeIndex

      int getDynamicMethodPrototypeIndex()
      Convenience method to retrieve the target method prototype. Get the third value entry, which is an index into the prototypes pool.
      Returns:
      the dynamic method prototype index
    • getDynamicMethodPrototype

      IDexPrototype getDynamicMethodPrototype()
      Get the method prototype.
      Returns:
      the dynamic method prototype
    • generate

      String generate(boolean effective)
      Generate a string representing the call site.
      Parameters:
      effective - true to use effective names, false to use original names
      Returns:
      a generated call site string