Replace DescriptorVisibility with Visibility in Java model classes
This commit is contained in:
@@ -157,7 +157,7 @@ class JavaSymbolProvider(
|
||||
session = this@JavaSymbolProvider.session
|
||||
symbol = firSymbol
|
||||
name = javaClass.name
|
||||
visibility = javaClass.visibility.toFirVisibility()
|
||||
visibility = javaClass.visibility
|
||||
modality = javaClass.modality
|
||||
classKind = javaClass.classKind
|
||||
this.isTopLevel = outerClassId == null
|
||||
@@ -174,7 +174,7 @@ class JavaSymbolProvider(
|
||||
}
|
||||
}
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
javaClass.visibility.toFirVisibility(),
|
||||
javaClass.visibility,
|
||||
javaClass.modality
|
||||
).apply {
|
||||
this.isInner = !isTopLevel && !this@buildJavaClass.isStatic
|
||||
@@ -197,7 +197,7 @@ class JavaSymbolProvider(
|
||||
symbol = FirVariableSymbol(fieldId)
|
||||
name = fieldName
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
javaField.visibility.toFirVisibility(),
|
||||
javaField.visibility,
|
||||
javaField.modality
|
||||
).apply {
|
||||
isStatic = javaField.isStatic
|
||||
@@ -216,7 +216,7 @@ class JavaSymbolProvider(
|
||||
symbol = FirFieldSymbol(fieldId)
|
||||
name = fieldName
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
javaField.visibility.toFirVisibility(),
|
||||
javaField.visibility,
|
||||
javaField.modality
|
||||
).apply {
|
||||
isStatic = javaField.isStatic
|
||||
@@ -224,7 +224,7 @@ class JavaSymbolProvider(
|
||||
isActual = false
|
||||
isOverride = false
|
||||
}
|
||||
visibility = javaField.visibility.toFirVisibility()
|
||||
visibility = javaField.visibility
|
||||
modality = javaField.modality
|
||||
returnTypeRef = returnType.toFirJavaTypeRef(this@JavaSymbolProvider.session, javaTypeParameterStack)
|
||||
isVar = !javaField.isFinal
|
||||
@@ -248,7 +248,7 @@ class JavaSymbolProvider(
|
||||
source = (javaMethod as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
||||
symbol = methodSymbol
|
||||
name = methodName
|
||||
visibility = javaMethod.visibility.toFirVisibility()
|
||||
visibility = javaMethod.visibility
|
||||
modality = javaMethod.modality
|
||||
returnTypeRef = returnType.toFirJavaTypeRef(this@JavaSymbolProvider.session, javaTypeParameterStack)
|
||||
isStatic = javaMethod.isStatic
|
||||
@@ -260,7 +260,7 @@ class JavaSymbolProvider(
|
||||
)
|
||||
}
|
||||
status = FirResolvedDeclarationStatusImpl(
|
||||
javaMethod.visibility.toFirVisibility(),
|
||||
javaMethod.visibility,
|
||||
javaMethod.modality
|
||||
).apply {
|
||||
isStatic = javaMethod.isStatic
|
||||
@@ -342,7 +342,7 @@ class JavaSymbolProvider(
|
||||
}
|
||||
for (javaConstructor in javaClassDeclaredConstructors) {
|
||||
declarations += prepareJavaConstructor(
|
||||
visibility = javaConstructor.visibility.toFirVisibility(),
|
||||
visibility = javaConstructor.visibility,
|
||||
psi = (javaConstructor as? JavaElementImpl<*>)?.psi,
|
||||
).apply {
|
||||
this.typeParameters += javaConstructor.typeParameters.convertTypeParameters(javaTypeParameterStack)
|
||||
@@ -411,5 +411,3 @@ class JavaSymbolProvider(
|
||||
|
||||
fun FqName.topLevelName() =
|
||||
asString().substringBefore(".")
|
||||
|
||||
|
||||
|
||||
@@ -8,9 +8,6 @@ package org.jetbrains.kotlin.fir.java
|
||||
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
|
||||
import org.jetbrains.kotlin.fir.*
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
@@ -43,7 +40,6 @@ import org.jetbrains.kotlin.load.java.typeEnhancement.TypeComponentPosition
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.types.Variance.*
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
|
||||
internal val JavaModifierListOwner.modality: Modality
|
||||
get() = when {
|
||||
@@ -526,18 +522,3 @@ private fun JavaType.toFirResolvedTypeRef(
|
||||
type = ConeClassErrorType(ConeSimpleDiagnostic("Unexpected JavaType: $this", DiagnosticKind.Java))
|
||||
}
|
||||
}
|
||||
|
||||
fun DescriptorVisibility.toFirVisibility(): Visibility = when (this) {
|
||||
org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PRIVATE -> Visibilities.Private
|
||||
org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PRIVATE_TO_THIS -> Visibilities.PrivateToThis
|
||||
org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PROTECTED -> Visibilities.Protected
|
||||
org.jetbrains.kotlin.descriptors.DescriptorVisibilities.INTERNAL -> Visibilities.Internal
|
||||
org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PUBLIC -> Visibilities.Public
|
||||
org.jetbrains.kotlin.descriptors.DescriptorVisibilities.LOCAL -> Visibilities.Local
|
||||
org.jetbrains.kotlin.descriptors.DescriptorVisibilities.INVISIBLE_FAKE -> Visibilities.InvisibleFake
|
||||
org.jetbrains.kotlin.descriptors.DescriptorVisibilities.UNKNOWN -> Visibilities.Unknown
|
||||
org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities.PACKAGE_VISIBILITY -> JavaVisibilities.PackageVisibility
|
||||
org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE -> JavaVisibilities.ProtectedAndPackage
|
||||
org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY -> JavaVisibilities.ProtectedStaticVisibility
|
||||
else -> error("Unknown visiblity: $this")
|
||||
}
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ import com.intellij.psi.PsiTypeParameter
|
||||
import com.intellij.psi.search.SearchScope
|
||||
import org.jetbrains.kotlin.asJava.KtLightClassMarker
|
||||
import org.jetbrains.kotlin.asJava.isSyntheticValuesOrValueOfMethod
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.load.java.structure.*
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -111,7 +111,7 @@ class JavaClassImpl(psiClass: PsiClass) : JavaClassifierImpl<PsiClass>(psiClass)
|
||||
override val isFinal: Boolean
|
||||
get() = JavaElementUtil.isFinal(this)
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
override val visibility: Visibility
|
||||
get() = JavaElementUtil.getVisibility(this)
|
||||
|
||||
override val lightClassOriginKind: LightClassOriginKind?
|
||||
|
||||
+12
-9
@@ -17,12 +17,15 @@
|
||||
package org.jetbrains.kotlin.load.java.structure.impl;
|
||||
|
||||
import com.intellij.codeInsight.ExternalAnnotationsManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.PsiAnnotation;
|
||||
import com.intellij.psi.PsiAnnotationOwner;
|
||||
import com.intellij.psi.PsiModifier;
|
||||
import com.intellij.psi.PsiModifierListOwner;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
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.JavaAnnotation;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
|
||||
@@ -50,18 +53,18 @@ import static org.jetbrains.kotlin.load.java.structure.impl.JavaElementCollectio
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static DescriptorVisibility getVisibility(@NotNull JavaModifierListOwnerImpl owner) {
|
||||
public static Visibility getVisibility(@NotNull JavaModifierListOwnerImpl owner) {
|
||||
PsiModifierListOwner psiOwner = owner.getPsi();
|
||||
if (psiOwner.hasModifierProperty(PsiModifier.PUBLIC)) {
|
||||
return DescriptorVisibilities.PUBLIC;
|
||||
return Visibilities.Public.INSTANCE;
|
||||
}
|
||||
if (psiOwner.hasModifierProperty(PsiModifier.PRIVATE)) {
|
||||
return DescriptorVisibilities.PRIVATE;
|
||||
return Visibilities.Private.INSTANCE;
|
||||
}
|
||||
if (psiOwner.hasModifierProperty(PsiModifier.PROTECTED)) {
|
||||
return owner.isStatic() ? JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY : JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE;
|
||||
return owner.isStatic() ? JavaVisibilities.ProtectedStaticVisibility.INSTANCE : JavaVisibilities.ProtectedAndPackage.INSTANCE;
|
||||
}
|
||||
return JavaDescriptorVisibilities.PACKAGE_VISIBILITY;
|
||||
return JavaVisibilities.PackageVisibility.INSTANCE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ import com.intellij.psi.PsiDocCommentOwner;
|
||||
import com.intellij.psi.PsiMember;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility;
|
||||
import org.jetbrains.kotlin.descriptors.Visibility;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaMember;
|
||||
@@ -76,7 +76,7 @@ public abstract class JavaMemberImpl<Psi extends PsiMember> extends JavaElementI
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public DescriptorVisibility getVisibility() {
|
||||
public Visibility getVisibility() {
|
||||
return JavaElementUtil.getVisibility(this);
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -21,8 +21,8 @@ import com.intellij.psi.PsiParameter;
|
||||
import com.intellij.psi.impl.compiled.ClsParameterImpl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities;
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility;
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities;
|
||||
import org.jetbrains.kotlin.descriptors.Visibility;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaType;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter;
|
||||
@@ -60,8 +60,8 @@ public class JavaValueParameterImpl extends JavaElementImpl<PsiParameter>
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public DescriptorVisibility getVisibility() {
|
||||
return DescriptorVisibilities.LOCAL;
|
||||
public Visibility getVisibility() {
|
||||
return Visibilities.Local.INSTANCE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+8
-8
@@ -16,9 +16,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.load.java.structure.impl.classFiles
|
||||
|
||||
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 org.jetbrains.kotlin.load.java.structure.MapBasedJavaAnnotationOwner
|
||||
import org.jetbrains.org.objectweb.asm.Opcodes
|
||||
@@ -33,13 +33,13 @@ internal interface BinaryJavaModifierListOwner : JavaModifierListOwner, MapBased
|
||||
override val isAbstract get() = isSet(Opcodes.ACC_ABSTRACT)
|
||||
override val isStatic get() = isSet(Opcodes.ACC_STATIC)
|
||||
override val isFinal get() = isSet(Opcodes.ACC_FINAL)
|
||||
override val visibility: DescriptorVisibility
|
||||
override val visibility: Visibility
|
||||
get() = when {
|
||||
isSet(Opcodes.ACC_PRIVATE) -> DescriptorVisibilities.PRIVATE
|
||||
isSet(Opcodes.ACC_PRIVATE) -> Visibilities.Private
|
||||
isSet(Opcodes.ACC_PROTECTED) ->
|
||||
if (isStatic) JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY else JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
|
||||
isSet(Opcodes.ACC_PUBLIC) -> DescriptorVisibilities.PUBLIC
|
||||
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
||||
if (isStatic) JavaVisibilities.ProtectedStaticVisibility else JavaVisibilities.ProtectedAndPackage
|
||||
isSet(Opcodes.ACC_PUBLIC) -> Visibilities.Public
|
||||
else -> JavaVisibilities.PackageVisibility
|
||||
}
|
||||
|
||||
override val isDeprecatedInJavaDoc get() = isSet(Opcodes.ACC_DEPRECATED)
|
||||
|
||||
+13
-12
@@ -20,19 +20,20 @@ import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.PsiField
|
||||
import com.intellij.psi.PsiLiteralExpression
|
||||
import com.intellij.psi.search.SearchScope
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
|
||||
import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName
|
||||
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
||||
import org.jetbrains.kotlin.load.java.structure.*
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.visibilityModifierType
|
||||
|
||||
class KotlinClassifiersCache(sourceFiles: Collection<KtFile>,
|
||||
@@ -98,15 +99,15 @@ class MockKotlinClassifier(override val classId: ClassId,
|
||||
override val fqName: FqName
|
||||
get() = classId.asSingleFqName()
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
override val visibility: Visibility
|
||||
get() = if (classOrObject == null) {
|
||||
DescriptorVisibilities.PUBLIC
|
||||
Visibilities.Public
|
||||
}
|
||||
else when (classOrObject.visibilityModifierType()) {
|
||||
null, KtTokens.PUBLIC_KEYWORD -> DescriptorVisibilities.PUBLIC
|
||||
KtTokens.PRIVATE_KEYWORD -> DescriptorVisibilities.PRIVATE
|
||||
KtTokens.PROTECTED_KEYWORD -> DescriptorVisibilities.PROTECTED
|
||||
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
||||
null, KtTokens.PUBLIC_KEYWORD -> Visibilities.Public
|
||||
KtTokens.PRIVATE_KEYWORD -> Visibilities.Private
|
||||
KtTokens.PROTECTED_KEYWORD -> Visibilities.Protected
|
||||
else -> JavaVisibilities.PackageVisibility
|
||||
}
|
||||
|
||||
override val supertypes: Collection<JavaClassifierType>
|
||||
@@ -186,7 +187,7 @@ class MockKotlinField(private val psiField: PsiField) : JavaField {
|
||||
override val isAbstract get() = shouldNotBeCalled()
|
||||
override val isStatic get() = shouldNotBeCalled()
|
||||
override val isFinal get() = shouldNotBeCalled()
|
||||
override val visibility get() = shouldNotBeCalled()
|
||||
override val visibility: Visibility get() = shouldNotBeCalled()
|
||||
override val containingClass get() = shouldNotBeCalled()
|
||||
override val isEnumEntry get() = shouldNotBeCalled()
|
||||
override val type get() = shouldNotBeCalled()
|
||||
|
||||
+3
-3
@@ -7,8 +7,8 @@ package org.jetbrains.kotlin.javac.wrappers.symbols
|
||||
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.search.SearchScope
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.load.java.structure.*
|
||||
@@ -37,7 +37,7 @@ class FakeSymbolBasedClass(
|
||||
|
||||
override val isFinal: Boolean get() = false
|
||||
|
||||
override val visibility: DescriptorVisibility get() = DescriptorVisibilities.PUBLIC
|
||||
override val visibility: Visibility get() = Visibilities.Public
|
||||
|
||||
override val typeParameters: List<JavaTypeParameter> get() = emptyList()
|
||||
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.javac.wrappers.symbols
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.CommonClassNames
|
||||
import com.intellij.psi.search.SearchScope
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.load.java.structure.*
|
||||
@@ -54,7 +54,7 @@ class SymbolBasedClass(
|
||||
override val isFinal: Boolean
|
||||
get() = element.isFinal
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
override val visibility: Visibility
|
||||
get() = element.getVisibility()
|
||||
|
||||
override val typeParameters: List<JavaTypeParameter>
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.javac.wrappers.symbols
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||
@@ -36,7 +36,7 @@ abstract class SymbolBasedMember<out T : Element>(
|
||||
|
||||
override fun findAnnotation(fqName: FqName) = element.findAnnotation(fqName, javac)
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
override val visibility: Visibility
|
||||
get() = element.getVisibility()
|
||||
|
||||
override val name: Name
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
|
||||
package org.jetbrains.kotlin.javac.wrappers.symbols
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -36,20 +36,20 @@ internal val Element.isStatic: Boolean
|
||||
internal val Element.isFinal: Boolean
|
||||
get() = modifiers.contains(Modifier.FINAL)
|
||||
|
||||
internal fun Element.getVisibility(): DescriptorVisibility = modifiers.getVisibility()
|
||||
internal fun Element.getVisibility(): Visibility = modifiers.getVisibility()
|
||||
|
||||
internal fun Set<Modifier>.getVisibility(): DescriptorVisibility =
|
||||
internal fun Set<Modifier>.getVisibility(): Visibility =
|
||||
when {
|
||||
Modifier.PUBLIC in this -> DescriptorVisibilities.PUBLIC
|
||||
Modifier.PRIVATE in this -> DescriptorVisibilities.PRIVATE
|
||||
Modifier.PUBLIC in this -> Visibilities.Public
|
||||
Modifier.PRIVATE in this -> Visibilities.Private
|
||||
Modifier.PROTECTED in this -> {
|
||||
if (Modifier.STATIC in this) {
|
||||
JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY
|
||||
JavaVisibilities.ProtectedStaticVisibility
|
||||
} else {
|
||||
JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
|
||||
JavaVisibilities.ProtectedAndPackage
|
||||
}
|
||||
}
|
||||
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
||||
else -> JavaVisibilities.PackageVisibility
|
||||
}
|
||||
|
||||
|
||||
|
||||
+4
-4
@@ -23,8 +23,8 @@ import com.sun.source.tree.Tree
|
||||
import com.sun.tools.javac.code.Flags
|
||||
import com.sun.tools.javac.tree.JCTree
|
||||
import com.sun.tools.javac.tree.TreeInfo
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PUBLIC
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.load.java.structure.*
|
||||
@@ -62,8 +62,8 @@ class TreeBasedClass(
|
||||
override val isFinal: Boolean
|
||||
get() = isEnum || tree.modifiers.isFinal
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
get() = if (outerClass?.isInterface == true) PUBLIC else tree.modifiers.visibility
|
||||
override val visibility: Visibility
|
||||
get() = if (outerClass?.isInterface == true) Visibilities.Public else tree.modifiers.visibility
|
||||
|
||||
override val typeParameters: List<JavaTypeParameter>
|
||||
get() = tree.typeParameters.map { parameter ->
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.javac.wrappers.trees
|
||||
|
||||
import com.sun.source.tree.CompilationUnitTree
|
||||
import com.sun.tools.javac.tree.JCTree
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaConstructor
|
||||
@@ -45,7 +45,7 @@ class TreeBasedConstructor(
|
||||
override val isFinal: Boolean
|
||||
get() = true
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
override val visibility: Visibility
|
||||
get() = tree.modifiers.visibility
|
||||
|
||||
override val typeParameters: List<JavaTypeParameter>
|
||||
|
||||
+4
-4
@@ -19,8 +19,8 @@ package org.jetbrains.kotlin.javac.wrappers.trees
|
||||
import com.sun.source.tree.CompilationUnitTree
|
||||
import com.sun.tools.javac.code.Flags
|
||||
import com.sun.tools.javac.tree.JCTree
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.javac.resolve.ConstantEvaluator
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||
@@ -47,8 +47,8 @@ class TreeBasedField(
|
||||
override val isFinal: Boolean
|
||||
get() = containingClass.isInterface || tree.modifiers.isFinal
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
get() = if (containingClass.isInterface) DescriptorVisibilities.PUBLIC else tree.modifiers.visibility
|
||||
override val visibility: Visibility
|
||||
get() = if (containingClass.isInterface) Visibilities.Public else tree.modifiers.visibility
|
||||
|
||||
override val isEnumEntry: Boolean
|
||||
get() = tree.modifiers.flags and Flags.ENUM.toLong() != 0L
|
||||
|
||||
+4
-4
@@ -18,8 +18,8 @@ package org.jetbrains.kotlin.javac.wrappers.trees
|
||||
|
||||
import com.sun.source.tree.CompilationUnitTree
|
||||
import com.sun.tools.javac.tree.JCTree
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||
import org.jetbrains.kotlin.load.java.structure.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -43,8 +43,8 @@ class TreeBasedMethod(
|
||||
override val isFinal: Boolean
|
||||
get() = tree.modifiers.isFinal
|
||||
|
||||
override val visibility: DescriptorVisibility
|
||||
get() = if (containingClass.isInterface) DescriptorVisibilities.PUBLIC else tree.modifiers.visibility
|
||||
override val visibility: Visibility
|
||||
get() = if (containingClass.isInterface) Visibilities.Public else tree.modifiers.visibility
|
||||
|
||||
override val typeParameters: List<JavaTypeParameter>
|
||||
get() = tree.typeParameters.map { TreeBasedTypeParameter(it, compilationUnit, javac, this) }
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package org.jetbrains.kotlin.javac.wrappers.trees
|
||||
|
||||
import com.sun.tools.javac.tree.JCTree
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.javac.wrappers.symbols.SymbolBasedArrayAnnotationArgument
|
||||
import org.jetbrains.kotlin.javac.wrappers.symbols.SymbolBasedReferenceAnnotationArgument
|
||||
import org.jetbrains.kotlin.javac.wrappers.symbols.getVisibility
|
||||
@@ -39,7 +39,7 @@ internal val JCTree.JCModifiers.isStatic: Boolean
|
||||
internal val JCTree.JCModifiers.hasDefaultModifier: Boolean
|
||||
get() = Modifier.DEFAULT in getFlags()
|
||||
|
||||
internal val JCTree.JCModifiers.visibility: DescriptorVisibility
|
||||
internal val JCTree.JCModifiers.visibility: Visibility
|
||||
get() = getFlags().getVisibility()
|
||||
|
||||
internal fun JCTree.annotations(): Collection<JCTree.JCAnnotation> = when (this) {
|
||||
|
||||
+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