KT-7922 Added Boolean Companion Object

This commit is contained in:
Kerooker
2018-07-11 11:17:27 -03:00
committed by Ilya Gorbunov
parent cd0906a357
commit af5f78076c
10 changed files with 26 additions and 11 deletions
+2
View File
@@ -21,6 +21,8 @@ package kotlin
* represented as values of the primitive type `boolean`.
*/
public class Boolean private constructor() : Comparable<Boolean> {
companion object {}
/**
* Returns the inverse of this boolean.
*/
@@ -24,13 +24,14 @@ import java.util.*
object CompanionObjectMapping {
private val classIds =
(PrimitiveType.NUMBER_TYPES.map(KotlinBuiltIns::getPrimitiveFqName) +
KotlinBuiltIns.FQ_NAMES.string.toSafe() +
KotlinBuiltIns.FQ_NAMES._enum.toSafe()).mapTo(linkedSetOf<ClassId>(), ClassId::topLevel)
(PrimitiveType.NUMBER_TYPES.map(KotlinBuiltIns::getPrimitiveFqName) +
KotlinBuiltIns.FQ_NAMES.string.toSafe() +
KotlinBuiltIns.FQ_NAMES._boolean.toSafe() +
KotlinBuiltIns.FQ_NAMES._enum.toSafe()).mapTo(linkedSetOf<ClassId>(), ClassId::topLevel)
fun allClassesWithIntrinsicCompanions(): Set<ClassId> =
Collections.unmodifiableSet(classIds)
Collections.unmodifiableSet(classIds)
fun isMappedIntrinsicCompanionObject(classDescriptor: ClassDescriptor): Boolean =
DescriptorUtils.isCompanionObject(classDescriptor) && classDescriptor.classId?.outerClassId in classIds
DescriptorUtils.isCompanionObject(classDescriptor) && classDescriptor.classId?.outerClassId in classIds
}
@@ -63,7 +63,7 @@ object ClassMapperLite {
add("reflect/KFunction$i", "kotlin/reflect/KFunction")
}
for (klass in listOf("Char", "Byte", "Short", "Int", "Float", "Long", "Double", "String", "Enum")) {
for (klass in listOf("Char", "Byte", "Short", "Int", "Float", "Long", "Double", "String", "Enum", "Boolean")) {
add("$klass.Companion", "kotlin/jvm/internal/${klass}CompanionObject")
}
}