Interface IDTypeInfoProvider


public interface IDTypeInfoProvider
Type information provider interface.
  • Method Details

    • isCompatible

      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
      Returns:
    • isChildOf

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

      List<String> findTypesWithSuperMethods(String typename, String methodname, String methoddesc, boolean directOnly)
      Parameters:
      typename - must be a non-array object type
      methodname -
      methoddesc -
      directOnly -
      Returns:
      a list of types (binary form) containing super implementations or super declarations for the provided method
    • isFunctionalType

      String isFunctionalType(String typename)
      Determine if the provided is a functional type: a type that implements a functional interface.
      Parameters:
      typename -
      Returns:
    • findType

      IJLSType findType(String typename)
      Parameters:
      typename -
      Returns:
    • findMethod

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

      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
      adeclType -
      Returns:
      a method or null if not found
    • findField

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

      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
      adeclType -
      Returns:
      a field or null if not found