UsesReflectionToAccessField



The annotated code uses reflection to indirectly access a field of the specified class/interface, or its subclasses / interface implementers.

This annotation indicates to optimizers or shrinkers that the target field should be preserved if the annotated code is reachable in the final application build.

Summary

Public constructors

UsesReflectionToAccessField(
    classConstant: KClass<*>,
    className: String,
    fieldName: String,
    fieldType: KClass<*>,
    fieldTypeName: String
)
Cmn

Public properties

KClass<*>

Class containing the field accessed by reflection.

Cmn
String

Class name (or class name pattern) containing the field accessed by reflection.

Cmn
String

Name (or name pattern) of field accessed by reflection.

Cmn
KClass<*>

Type of field accessed by reflection.

Cmn
String

Type (or type pattern) of field accessed by reflection.

Cmn

Public constructors

UsesReflectionToAccessField

UsesReflectionToAccessField(
    classConstant: KClass<*> = Unspecified::class,
    className: String = "",
    fieldName: String,
    fieldType: KClass<*> = Unspecified::class,
    fieldTypeName: String = ""
)

Public properties

classConstant

val classConstant: KClass<*>

Class containing the field accessed by reflection.

Mutually exclusive with className.

className

val className: String

Class name (or class name pattern) containing the field accessed by reflection.

Mutually exclusive with classConstant.

fieldName

val fieldName: String

Name (or name pattern) of field accessed by reflection.

fieldType

val fieldType: KClass<*>

Type of field accessed by reflection.

Ignored if not specified.

Mutually exclusive with fieldTypeName.

fieldTypeName

val fieldTypeName: String

Type (or type pattern) of field accessed by reflection.

Ignored if not specified.

Mutually exclusive with fieldType.