Class KotlinClassFlags
- java.lang.Object
-
- proguard.classfile.kotlin.flags.KotlinClassFlags
-
- All Implemented Interfaces:
KotlinFlags
public class KotlinClassFlags extends java.lang.Object implements KotlinFlags
-
-
Field Summary
Fields Modifier and Type Field Description booleanhasAnnotationsDeprecated.booleanhasAnnotationsInBytecodeIndicates that the corresponding interface has at least one annotation in the JVM bytecode.booleanhasMethodBodiesInInterfaceApplied to an interface compiled with -Xjvm-default=all or all-compatibility.booleanisAnnotationClassA class kind flag, signifying that the corresponding class is an `annotation class`.booleanisCompanionObjectA class kind flag, signifying that the corresponding class is a `companion object`.booleanisCompiledInCompatibilityModeApplied to an interface compiled with -Xjvm-default=all or all-compatibility.booleanisDataSignifies that the corresponding class is `data`.booleanisEnumClassA class kind flag, signifying that the corresponding class is an `enum class`.booleanisEnumEntryA class kind flag, signifying that the corresponding class is an enum entry.booleanisExpectSignifies that the corresponding class is `expect`.booleanisExternalSignifies that the corresponding class is `external`.booleanisFunSignifies that the corresponding class is a functional interface, i.e.booleanisInnerSignifies that the corresponding class is `inner`.booleanisInterfaceA class kind flag, signifying that the corresponding class is an `interface`.booleanisObjectA class kind flag, signifying that the corresponding class is a non-companion `object`.booleanisUsualClassA class kind flag, signifying that the corresponding class is a usual `class`.booleanisValueSignifies that the corresponding class is `value`.KotlinModalityFlagsmodalityKotlinVisibilityFlagsvisibility
-
Constructor Summary
Constructors Constructor Description KotlinClassFlags(KotlinVisibilityFlags visibility, KotlinModalityFlags modality)
-
-
-
Field Detail
-
visibility
public final KotlinVisibilityFlags visibility
-
modality
public final KotlinModalityFlags modality
-
isUsualClass
public boolean isUsualClass
A class kind flag, signifying that the corresponding class is a usual `class`.
-
isInterface
public boolean isInterface
A class kind flag, signifying that the corresponding class is an `interface`.
-
isEnumClass
public boolean isEnumClass
A class kind flag, signifying that the corresponding class is an `enum class`.
-
isEnumEntry
public boolean isEnumEntry
A class kind flag, signifying that the corresponding class is an enum entry.
-
isAnnotationClass
public boolean isAnnotationClass
A class kind flag, signifying that the corresponding class is an `annotation class`.
-
isObject
public boolean isObject
A class kind flag, signifying that the corresponding class is a non-companion `object`.
-
isCompanionObject
public boolean isCompanionObject
A class kind flag, signifying that the corresponding class is a `companion object`.
-
isInner
public boolean isInner
Signifies that the corresponding class is `inner`.
-
isData
public boolean isData
Signifies that the corresponding class is `data`.
-
isExternal
public boolean isExternal
Signifies that the corresponding class is `external`.
-
isExpect
public boolean isExpect
Signifies that the corresponding class is `expect`.
-
isValue
public boolean isValue
Signifies that the corresponding class is `value`.
-
isFun
public boolean isFun
Signifies that the corresponding class is a functional interface, i.e. marked with the keyword `fun`.
-
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.
-
hasMethodBodiesInInterface
public boolean hasMethodBodiesInInterface
Applied to an interface compiled with -Xjvm-default=all or all-compatibility.Without this flag or a `@JvmDefault` annotation on individual interface methods the Kotlin compiler moves all interface method bodies into a nested `DefaultImpls` class.
-
isCompiledInCompatibilityMode
public boolean isCompiledInCompatibilityMode
Applied to an interface compiled with -Xjvm-default=all or all-compatibility.Without this flag or a `@JvmDefault` annotation on individual interface methods the Kotlin compiler moves all interface method bodies into a nested `DefaultImpls` class.
-
hasAnnotations
@Deprecated public boolean hasAnnotations
Deprecated.
-
-
Constructor Detail
-
KotlinClassFlags
public KotlinClassFlags(KotlinVisibilityFlags visibility, KotlinModalityFlags modality)
-
-