Replace DescriptorVisibility with Visibility in Java model classes
This commit is contained in:
+8
-2
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.load.java.lazy.types.toAttributes
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClassifierType
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaType
|
||||
import org.jetbrains.kotlin.load.java.toDescriptorVisibility
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.isValidJavaFqName
|
||||
import org.jetbrains.kotlin.resolve.constants.StringValue
|
||||
@@ -89,8 +90,13 @@ class LazyJavaClassDescriptor(
|
||||
// which can be inherited from the same package.
|
||||
// Kotlin considers this "private in package" just as "private" and thinks they are invisible for inheritors,
|
||||
// so their functions are invisible fake which is not true.
|
||||
override fun getVisibility() =
|
||||
if (visibility == DescriptorVisibilities.PRIVATE && jClass.outerClass == null) JavaDescriptorVisibilities.PACKAGE_VISIBILITY else visibility
|
||||
override fun getVisibility(): DescriptorVisibility {
|
||||
return if (visibility == DescriptorVisibilities.PRIVATE && jClass.outerClass == null) {
|
||||
JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
||||
} else {
|
||||
visibility.toDescriptorVisibility()
|
||||
}
|
||||
}
|
||||
|
||||
override fun isInner() = isInner
|
||||
override fun isData() = false
|
||||
|
||||
+2
-2
@@ -496,7 +496,7 @@ class LazyJavaClassMemberScope(
|
||||
val annotations = c.resolveAnnotations(method)
|
||||
|
||||
val propertyDescriptor = JavaPropertyDescriptor.create(
|
||||
ownerDescriptor, annotations, modality, method.visibility,
|
||||
ownerDescriptor, annotations, modality, method.visibility.toDescriptorVisibility(),
|
||||
/* isVar = */ false, method.name, c.components.sourceElementFactory.source(method),
|
||||
/* isStaticFinal = */ false
|
||||
)
|
||||
@@ -606,7 +606,7 @@ class LazyJavaClassMemberScope(
|
||||
classDescriptor.declaredTypeParameters +
|
||||
constructor.typeParameters.map { p -> c.typeParameterResolver.resolveTypeParameter(p)!! }
|
||||
|
||||
constructorDescriptor.initialize(valueParameters.descriptors, constructor.visibility, constructorTypeParameters)
|
||||
constructorDescriptor.initialize(valueParameters.descriptors, constructor.visibility.toDescriptorVisibility(), constructorTypeParameters)
|
||||
constructorDescriptor.setHasStableParameterNames(false)
|
||||
constructorDescriptor.setHasSynthesizedParameterNames(valueParameters.hasSynthesizedNames)
|
||||
|
||||
|
||||
+3
-2
@@ -35,6 +35,7 @@ import org.jetbrains.kotlin.load.java.structure.JavaArrayType
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaField
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaMethod
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter
|
||||
import org.jetbrains.kotlin.load.java.toDescriptorVisibility
|
||||
import org.jetbrains.kotlin.load.kotlin.computeJvmDescriptor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.*
|
||||
@@ -174,7 +175,7 @@ abstract class LazyJavaScope(
|
||||
effectiveSignature.valueParameters,
|
||||
effectiveSignature.returnType,
|
||||
Modality.convertFromFlags(method.isAbstract, !method.isFinal),
|
||||
method.visibility,
|
||||
method.visibility.toDescriptorVisibility(),
|
||||
if (effectiveSignature.receiverType != null)
|
||||
mapOf(JavaMethodDescriptor.ORIGINAL_VALUE_PARAMETER_FOR_EXTENSION_RECEIVER to valueParameters.descriptors.first())
|
||||
else
|
||||
@@ -321,7 +322,7 @@ abstract class LazyJavaScope(
|
||||
val annotations = c.resolveAnnotations(field)
|
||||
|
||||
return JavaPropertyDescriptor.create(
|
||||
ownerDescriptor, annotations, Modality.FINAL, field.visibility, isVar, field.name,
|
||||
ownerDescriptor, annotations, Modality.FINAL, field.visibility.toDescriptorVisibility(), isVar, field.name,
|
||||
c.components.sourceElementFactory.source(field), /* isConst = */ field.isFinalStatic
|
||||
)
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.load.java.structure
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -38,7 +38,7 @@ interface JavaModifierListOwner : JavaElement {
|
||||
val isAbstract: Boolean
|
||||
val isStatic: Boolean
|
||||
val isFinal: Boolean
|
||||
val visibility: DescriptorVisibility
|
||||
val visibility: Visibility
|
||||
}
|
||||
|
||||
interface JavaTypeParameterListOwner : JavaElement {
|
||||
|
||||
@@ -18,9 +18,7 @@ package org.jetbrains.kotlin.load.java
|
||||
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||
@@ -72,3 +70,5 @@ class DeprecationCausedByFunctionN(override val target: DeclarationDescriptor) :
|
||||
override val message: String?
|
||||
get() = "Java members containing references to ${JavaToKotlinClassMap.FUNCTION_N_FQ_NAME} are not supported"
|
||||
}
|
||||
|
||||
internal fun Visibility.toDescriptorVisibility(): DescriptorVisibility = JavaDescriptorVisibilities.toDescriptorVisibility(this)
|
||||
|
||||
+9
-9
@@ -16,9 +16,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.descriptors.runtime.structure
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaModifierListOwner
|
||||
import java.lang.reflect.Modifier
|
||||
|
||||
@@ -34,15 +34,15 @@ interface ReflectJavaModifierListOwner : JavaModifierListOwner {
|
||||
override val isFinal: Boolean
|
||||
get() = Modifier.isFinal(modifiers)
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
override val visibility: Visibility
|
||||
get() = modifiers.let { modifiers ->
|
||||
when {
|
||||
Modifier.isPublic(modifiers) -> DescriptorVisibilities.PUBLIC
|
||||
Modifier.isPrivate(modifiers) -> DescriptorVisibilities.PRIVATE
|
||||
Modifier.isPublic(modifiers) -> Visibilities.Public
|
||||
Modifier.isPrivate(modifiers) -> Visibilities.Private
|
||||
Modifier.isProtected(modifiers) ->
|
||||
if (Modifier.isStatic(modifiers)) JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY
|
||||
else JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
|
||||
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
||||
if (Modifier.isStatic(modifiers)) JavaVisibilities.ProtectedStaticVisibility
|
||||
else JavaVisibilities.ProtectedAndPackage
|
||||
else -> JavaVisibilities.PackageVisibility
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user