Package proguard.classfile.kotlin.flags
Class KotlinValueParameterFlags
- java.lang.Object
-
- proguard.classfile.kotlin.flags.KotlinValueParameterFlags
-
- All Implemented Interfaces:
KotlinFlags
public class KotlinValueParameterFlags extends java.lang.Object implements KotlinFlags
Flags for Kotlin value parameters.No valid visibility or modality flags.
-
-
Field Summary
Fields Modifier and Type Field Description booleanhasAnnotationsDeprecated.booleanhasAnnotationsInBytecodeIndicates that the corresponding value parameter has at least one annotation in the JVM bytecode.booleanhasDefaultValueSignifies that the corresponding value parameter declares a default value.booleanisCrossInlineSignifies that the corresponding value parameter is `crossinline`.booleanisNoInlineSignifies that the corresponding value parameter is `noinline`.
-
Constructor Summary
Constructors Constructor Description KotlinValueParameterFlags()
-
-
-
Field Detail
-
hasDefaultValue
public boolean hasDefaultValue
Signifies that the corresponding value parameter declares a default value. Note that the default value itself can be a complex expression and is not available via metadata. Also note that in case of an override of a parameter with default value, the parameter in the derived method does _not_ declare the default value ([DECLARES_DEFAULT_VALUE] == false), but the parameter is still optional at the call site because the default value from the base method is used.
-
isCrossInline
public boolean isCrossInline
Signifies that the corresponding value parameter is `crossinline`.
-
isNoInline
public boolean isNoInline
Signifies that the corresponding value parameter is `noinline`.
-
hasAnnotationsInBytecode
public boolean hasAnnotationsInBytecode
Indicates that the corresponding value parameter 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.
-
-