Class KotlinPropertyAccessorMetadata

java.lang.Object
proguard.util.SimpleProcessable
proguard.classfile.kotlin.flags.KotlinPropertyAccessorMetadata
All Implemented Interfaces:
Serializable, KotlinFlags, KotlinAnnotatable, Processable

public class KotlinPropertyAccessorMetadata extends SimpleProcessable implements KotlinFlags, KotlinAnnotatable
Kotlin property accessor metadata (getters/setters for properties).
See Also:
  • Field Details

    • visibility

      public KotlinVisibilityFlags visibility
    • modality

      public KotlinModalityFlags modality
    • referencedMethod

      public Method referencedMethod
    • signature

      public MethodSignature signature
    • annotations

      public List<KotlinAnnotation> annotations
    • isDefault

      public boolean isDefault
      Signifies that the corresponding property is not default, i.e. it has a body and/or annotations in the source code.
    • isExternal

      public boolean isExternal
      Signifies that the corresponding property is `external`.
    • isInline

      public boolean isInline
      Signifies that the corresponding property is `inline`.
    • hasAnnotationsInBytecode

      public boolean hasAnnotationsInBytecode
      Indicates that the corresponding interface has at least one annotation in the JVM bytecode.

      Before annotations in metadata are enabled by default in the Kotlin compiler (https://youtrack.jetbrains.com/issue/KT-75736), annotations are only generated in the JVM bytecode. The compiler writes and reads this flag to metadata as an optimization, to avoid parsing class file one additional time when it's not needed.

      Only annotations with [AnnotationRetention.BINARY] and [AnnotationRetention.RUNTIME] are written to the class files.

    • hasAnnotations

      @Deprecated public boolean hasAnnotations
      Deprecated.
  • Constructor Details

  • Method Details