Class ClassReferenceInitializer

java.lang.Object
proguard.classfile.util.ClassReferenceInitializer
All Implemented Interfaces:
AnnotationVisitor, ElementValueVisitor, AttributeVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, RecordComponentInfoVisitor, ConstantVisitor, ClassVisitor, MemberVisitor

This ClassVisitor initializes the references of all classes that it visits.

All class constant pool entries get direct references to the corresponding classes. These references make it more convenient to travel up and across the class hierarchy.

All field and method reference constant pool entries get direct references to the corresponding classes, fields, and methods.

All name and type constant pool entries get a list of direct references to the classes listed in the type.

The classpools are searched by keys and not by Clazz.getName(), so after obfuscation make sure to pass a ClassPool.refreshedCopy() to this class.

All Kotlin metadata elements get references to their corresponding Java implementation elements.

The class hierarchy must be initialized before using this visitor.