Skip to content

Commit

Permalink
J2K JavaToKotlinClassMap
Browse files Browse the repository at this point in the history
  • Loading branch information
PVTalanov committed May 16, 2017
1 parent 6701eb7 commit 40561da
Show file tree
Hide file tree
Showing 24 changed files with 236 additions and 264 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ private val READ_ONLY_ARE_EQUAL_TO_MUTABLE_TYPE_CHECKER = KotlinTypeCheckerImpl.
val firstClass = x.declarationDescriptor as? ClassDescriptor ?: return@withAxioms x == y
val secondClass = y.declarationDescriptor as? ClassDescriptor ?: return@withAxioms x == y

val j2k = JavaToKotlinClassMap.INSTANCE
val j2k = JavaToKotlinClassMap
val firstReadOnly = if (j2k.isMutable(firstClass)) j2k.convertMutableToReadOnly(firstClass) else firstClass
val secondReadOnly = if (j2k.isMutable(secondClass)) j2k.convertMutableToReadOnly(secondClass) else secondClass
firstReadOnly.typeConstructor == secondReadOnly.typeConstructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ object JvmOverridesBackwardCompatibilityHelper : OverridesBackwardCompatibilityH
val containingClass = DescriptorUtils.getContainingClass(overriddenDescriptor)
?: return false

if (JavaToKotlinClassMap.INSTANCE.mapKotlinToJava(containingClass.fqNameUnsafe) != null) return true
if (JavaToKotlinClassMap.mapKotlinToJava(containingClass.fqNameUnsafe) != null) return true
if (overriddenDescriptor.overriddenDescriptors.isEmpty()) return false

return isOverridingOnlyDescriptorsThatCanBeImplicitlyOverridden(overriddenDescriptor, visitedDescriptors)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ object JvmPlatformConfigurator : PlatformConfigurator(

overloadFilter = JvmOverloadFilter,

platformToKotlinClassMap = JavaToKotlinClassMap.INSTANCE,
platformToKotlinClassMap = JavaToKotlinClassMap,

delegationFilter = JvmDelegationFilter,

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ abstract class KtLightClassForSourceDeclaration(protected val classOrObject: KtC
val fqName = FqNameUnsafe(qualifiedName)
val mappedQName =
if (fqName.isSafe)
JavaToKotlinClassMap.INSTANCE.mapJavaToKotlin(fqName.toSafe())?.asSingleFqName()?.asString()
JavaToKotlinClassMap.mapJavaToKotlin(fqName.toSafe())?.asSingleFqName()?.asString()
else null
if (qualifiedName == mappedQName) return true

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class LazyJavaAnnotationDescriptor(

private val type = c.storageManager.createLazyValue {
val fqName = fqName() ?: return@createLazyValue ErrorUtils.createErrorType("No fqName: $javaAnnotation")
val annotationClass = JavaToKotlinClassMap.INSTANCE.mapJavaToKotlin(fqName, c.module.builtIns)
val annotationClass = JavaToKotlinClassMap.mapJavaToKotlin(fqName, c.module.builtIns)
?: javaAnnotation.resolve()?.let { javaClass -> c.components.moduleClassResolver.resolveClass(javaClass) }
?: createTypeForMissingDependencies(fqName)
annotationClass.defaultType
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ class JavaTypeResolver(
return c.components.reflectionTypes.kClass
}

val javaToKotlin = JavaToKotlinClassMap.INSTANCE
val javaToKotlin = JavaToKotlinClassMap

val howThisTypeIsUsedEffectively = when {
attr.flexibility == FLEXIBLE_LOWER_BOUND -> MEMBER_SIGNATURE_COVARIANT
Expand Down Expand Up @@ -185,7 +185,7 @@ class JavaTypeResolver(
fun JavaType?.isSuperWildcard(): Boolean = (this as? JavaWildcardType)?.let { it.bound != null && !it.isExtends } ?: false

if (!typeArguments.lastOrNull().isSuperWildcard()) return false
val mutableLastParameterVariance = JavaToKotlinClassMap.INSTANCE.convertReadOnlyToMutable(readOnlyContainer)
val mutableLastParameterVariance = JavaToKotlinClassMap.convertReadOnlyToMutable(readOnlyContainer)
.typeConstructor.parameters.lastOrNull()?.variance ?: return false

return mutableLastParameterVariance != OUT_VARIANCE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ private fun ClassifierDescriptor.enhanceMutability(qualifiers: JavaTypeQualifier
if (!position.shouldEnhance()) return this.noChange()
if (this !is ClassDescriptor) return this.noChange() // mutability is not applicable for type parameters

val mapping = JavaToKotlinClassMap.INSTANCE
val mapping = JavaToKotlinClassMap

when (qualifiers.mutability) {
READ_ONLY -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ private fun KotlinType.extractQualifiers(): JavaTypeQualifiers {
asFlexibleType().let { Pair(it.lowerBound, it.upperBound) }
else Pair(this, this)

val mapping = JavaToKotlinClassMap.INSTANCE
val mapping = JavaToKotlinClassMap
return JavaTypeQualifiers(
if (lower.isMarkedNullable) NULLABLE else if (!upper.isMarkedNullable) NOT_NULL else null,
if (mapping.isReadOnly(lower)) READ_ONLY else if (mapping.isMutable(upper)) MUTABLE else null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ open class JvmBuiltInsSettings(
deferredOwnerModuleDescriptor: () -> ModuleDescriptor,
isAdditionalBuiltInsFeatureSupported: () -> Boolean
) : AdditionalClassPartsProvider, PlatformDependentDeclarationFilter {
private val j2kClassMap = JavaToKotlinClassMap.INSTANCE
private val j2kClassMap = JavaToKotlinClassMap

private val ownerModuleDescriptor: ModuleDescriptor by lazy(deferredOwnerModuleDescriptor)
private val isAdditionalBuiltInsFeatureSupported: Boolean by lazy(isAdditionalBuiltInsFeatureSupported)
Expand Down Expand Up @@ -326,7 +326,7 @@ open class JvmBuiltInsSettings(
if (isArrayOrPrimitiveArray(fqName)) {
return true
}
val javaClassId = JavaToKotlinClassMap.INSTANCE.mapKotlinToJava(fqName) ?: return false
val javaClassId = JavaToKotlinClassMap.mapKotlinToJava(fqName) ?: return false
val classViaReflection = try {
Class.forName(javaClassId.asSingleFqName().asString())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ internal fun CallableDescriptor.computeJvmSignature(): String? = signatures {

internal val ClassDescriptor.internalName: String
get() {
JavaToKotlinClassMap.INSTANCE.mapKotlinToJava(fqNameSafe.toUnsafe())?.let {
JavaToKotlinClassMap.mapKotlinToJava(fqNameSafe.toUnsafe())?.let {
return JvmClassName.byClassId(it).internalName
}

Expand All @@ -89,7 +89,7 @@ internal val ClassDescriptor.internalName: String

internal val ClassId.internalName: String
get() {
return JvmClassName.byClassId(JavaToKotlinClassMap.INSTANCE.mapKotlinToJava(asSingleFqName().toUnsafe()) ?: this).internalName
return JvmClassName.byClassId(JavaToKotlinClassMap.mapKotlinToJava(asSingleFqName().toUnsafe()) ?: this).internalName
}

private fun StringBuilder.appendErasedType(type: KotlinType) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ private fun <T : Any> mapBuiltInType(
return typeFactory.createFromString("[" + JvmPrimitiveType.get(arrayElementType).desc)
}

val classId = JavaToKotlinClassMap.INSTANCE.mapKotlinToJava(fqName)
val classId = JavaToKotlinClassMap.mapKotlinToJava(fqName)
if (classId != null) {
return typeFactory.createObjectType(JvmClassName.byClassId(classId, typeMappingConfiguration).internalName)
}
Expand Down

This file was deleted.

Loading

0 comments on commit 40561da

Please sign in to comment.