public interface

IDCallInfo

implements IDInvokeInfo
com.pnfsoftware.jeb.core.units.code.android.ir.IDCallInfo
Known Indirect Subclasses

Class Overview

dexdec IR invocation information used by invoke instructions.

Example:

 result = ob.foo(1, "blah");
          ^^^^^^^^^^^^^^^^^
 

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.android.ir.IDElement
Public Methods
abstract void finalizeParameterTypes(IDGlobalContext gctx)
Apply types on the method parameters.
abstract IDExpression getArgument(int index)
Retrieve a method's argument.
abstract int getCountOfArguments()
Get the number of arguments.
abstract DInvokeType getInvokeType()
Get the invocation type.
abstract String getMethodName()
Convenience method to retrieve the target method simplename.
abstract String getMethodSignature()
Get the target method internal signature.
abstract boolean hasThis()
Determine whether the first argument of this method should be the object's this.
abstract void setArgument(int i, IDExpression arg)
Update a method argument.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.IInstructionOperand
From interface com.pnfsoftware.jeb.core.units.code.android.ir.IDElement
From interface com.pnfsoftware.jeb.core.units.code.android.ir.IDExpression
From interface com.pnfsoftware.jeb.core.units.code.android.ir.IDInvokeInfo

Public Methods

public abstract void finalizeParameterTypes (IDGlobalContext gctx)

Apply types on the method parameters.

Important note: at the IR level, casts should be explicit. Implicit promotions, not requiring a cast, are reserved for AST generation.

public abstract IDExpression getArgument (int index)

Retrieve a method's argument.

public abstract int getCountOfArguments ()

Get the number of arguments. For non-static methods, this is counted.

public abstract DInvokeType getInvokeType ()

Get the invocation type. Note that this differs slightly from the JLS or Dalvik invoke-xxx semantics. Refer to the enumration for details.

public abstract String getMethodName ()

Convenience method to retrieve the target method simplename.

Returns
  • the simple name, e.g. bar for a method Lcom/abc/Foo;->bar(I)V

public abstract String getMethodSignature ()

Get the target method internal signature.

Returns
  • an internal sinature, e.g. Lcom/abc/Foo;->bar(I)V

public abstract boolean hasThis ()

Determine whether the first argument of this method should be the object's this. That is, this method is a convenient way to determine whether the invocation type is either DIRECT, SUPER, VIRTUAL, or INTERFACE.

public abstract void setArgument (int i, IDExpression arg)

Update a method argument.