Class InitializedClassUtil

java.lang.Object
proguard.classfile.util.InitializedClassUtil

public class InitializedClassUtil extends Object
Utility methods for operation on Clazz that require initialization of the ClassPools to work (i.e., ClassReferenceInitializer, ClassSubHierarchyInitializer, and ClassSuperHierarchyInitializer should have run on the class pools).

The methods provide no guarantee that the initialization has been performed, the callers should make sure of it to avoid unexpected behavior or crashes.

  • Method Details

    • isInstanceOf

      public static boolean isInstanceOf(String type, @NotNull @NotNull Clazz clazz)
      Returns true if the given type is instance of the given clazz (i.e. whether the class is the same type or an extension of the given type).

      If the type is a reference array checks the inheritance of the referenced type (e.g. true for "[Ljava/lang/String;" and Clazz{java/lang/Object}, false for "[Ljava/lang/String;" and Clazz{java/lan/Boolean}).

      Requires that at least ClassReferenceInitializer and ClassSubHierarchyInitializer have been run on the ClassPools.