Km Property
Represents a Kotlin property declaration.
Various property attributes can be read and manipulated via extension properties, such as KmProperty.visibility or KmProperty.isVar.
Getter and setter attributes are available separately via extensions on KmProperty.getter and KmProperty.setter correspondingly.
Properties
Annotations on the property.
Annotations on the property's backing field, or empty list if the property doesn't have one.
Compiler plugin metadata attached to this property, indexed by plugin ID.
Context parameters of the property.
Annotations on the property's delegate field, or empty list if the property is not delegated.
Annotations on the extension receiver of the property, if this is an extension property.
JVM signature of the backing field of the property, or null if this property has no backing field.
Attributes of the getter of this property. Attributes can be retrieved with extension properties, such as KmPropertyAccessorAttributes.visibility or KmPropertyAccessorAttributes.isNotDefault.
JVM signature of the property getter, or null if this property has no getter or its signature is unknown.
Indicates that the corresponding property has at least one annotation in the JVM bytecode.
Indicates that the corresponding property has a constant value. On JVM, this flag allows an optimization similarly to KmProperty.hasAnnotations: constant values of properties are written to the bytecode directly, and this flag can be used to avoid reading the value from the bytecode in case it is not there.
Indicates that the corresponding property is const.
Indicates that the corresponding property is a delegated property.
Indicates that the corresponding property is expect.
Indicates that the corresponding property is external.
Indicates that the corresponding property is lateinit.
Applicable to a property declared in an interface's companion object. Indicates that its backing field is declared as a static field in the interface. In Kotlin code, this usually happens if the property is annotated with JvmField.
Indicates that the corresponding property is var.
Represents kind of the corresponding property.
Represents modality of the corresponding property.
Type of the receiver of the property, if this is an extension property.
Type of the property.
Indicates whether the property was compiled with return value status information. This status may come from @MustUseReturnValues annotation on one of the containing scopes, or from -Xreturn-value-checker=full global compilation setting. See ReturnValueStatus for details.
Attributes of the setter of this property. Attributes can be retrieved with extension properties, such as KmPropertyAccessorAttributes.visibility or KmPropertyAccessorAttributes.isNotDefault.
Value parameter of the setter of this property, if this is a var property and parameter is present. Parameter is present if and only if the setter is not default:
JVM signature of the property setter, or null if this property has no setter or its signature is unknown.
JVM signature of a synthetic method which is generated to store annotations on a property in the bytecode.
JVM signature of a synthetic method for properties which delegate to another property, which constructs and returns a property reference object. See https://kotlinlang.org/docs/delegated-properties.html#delegating-to-another-property.
Type parameters of the property.
Version requirements on the property.
Represents visibility of the corresponding property.