public interface

IDTypeInfoProvider

com.pnfsoftware.jeb.core.units.code.android.ir.IDTypeInfoProvider

Class Overview

Type information provider interface.

Summary

Public Methods
abstract IJLSField findField(String typename, String fieldname)
Retrieve a field declared in the provided type.
abstract IJLSField findField(String typename, String fieldname, boolean declared, String[] adeclType)
Retrieve a field.
abstract IJLSMethod findMethod(String typename, String methodname, String descNoReturnType, boolean declared, String[] adeclType)
Retrieve a method.
abstract IJLSMethod findMethod(String typename, String methodname, String descNoReturnType)
Retrieve a method declared in the provided type.
abstract IJLSType findType(String typename)
abstract List<String> findTypesWithSuperMethods(String typename, String methodname, String methoddesc, boolean directOnly)
abstract boolean isChildOf(String typename, String candidateParentTypename)
abstract boolean isCompatible(String typename, String candidateParentTypename)
abstract String isFunctionalType(String typename)
Determine if the provided is a functional type: a type that implements a functional interface.

Public Methods

public abstract IJLSField findField (String typename, String fieldname)

Retrieve a field declared in the provided type.

Parameters
typename jvm type name
fieldname simple field name
Returns
  • a field or null if not found

public abstract IJLSField findField (String typename, String fieldname, boolean declared, String[] adeclType)

Retrieve a field. Type hierarchies can be examined.

Parameters
typename jvm type name
fieldname simple field name
declared if true, fields declared in the provided type will be examined (inherited fields will not be examined); if not, all public fields (declared and inherited) will be examined
Returns
  • a field or null if not found

public abstract IJLSMethod findMethod (String typename, String methodname, String descNoReturnType, boolean declared, String[] adeclType)

Retrieve a method. Constructor methods can be retrieved as well. Type hierarchies can be examined.

Parameters
typename jvm type name
methodname simple method name
descNoReturnType jvm descriptor without return type, that is the paren.-enclosed list of parameters, e.g. (I[J[[Ljava/lang/String;)
declared if true, methods declared in the provided types will be examined (inherited methods will not be examined); if not, all public methods (declared and inherited) will be examined; if the method is a constructor method (<init> or <clinit>), inherited methods are never examined
Returns
  • a method or null if not found

public abstract IJLSMethod findMethod (String typename, String methodname, String descNoReturnType)

Retrieve a method declared in the provided type.

Parameters
typename jvm type name
methodname simple method name
descNoReturnType jvm descriptor without return type, that is the paren.-enclosed list of parameters, e.g. (I[J[[Ljava/lang/String;)
Returns
  • a method or null if not found

public abstract IJLSType findType (String typename)

public abstract List<String> findTypesWithSuperMethods (String typename, String methodname, String methoddesc, boolean directOnly)

Parameters
typename must be a non-array object type
Returns
  • a list of types (binary form) containing super implementations or super declarations for the provided method

public abstract boolean isChildOf (String typename, String candidateParentTypename)

Parameters
typename must be a non-array object type
candidateParentTypename must be a non-array object type
Returns
  • true if the provided type descends from the provided candidate super type

public abstract boolean isCompatible (String typename, String candidateParentTypename)

Parameters
typename jvm canonical type name of a primitive, object, or array of any
candidateParentTypename jvm canonical type name of a primitive, object, or array of any

public abstract String isFunctionalType (String typename)

Determine if the provided is a functional type: a type that implements a functional interface.