Replace DescriptorVisibility with Visibility in Java model classes
This commit is contained in:
@@ -157,7 +157,7 @@ class JavaSymbolProvider(
|
|||||||
session = this@JavaSymbolProvider.session
|
session = this@JavaSymbolProvider.session
|
||||||
symbol = firSymbol
|
symbol = firSymbol
|
||||||
name = javaClass.name
|
name = javaClass.name
|
||||||
visibility = javaClass.visibility.toFirVisibility()
|
visibility = javaClass.visibility
|
||||||
modality = javaClass.modality
|
modality = javaClass.modality
|
||||||
classKind = javaClass.classKind
|
classKind = javaClass.classKind
|
||||||
this.isTopLevel = outerClassId == null
|
this.isTopLevel = outerClassId == null
|
||||||
@@ -174,7 +174,7 @@ class JavaSymbolProvider(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
status = FirResolvedDeclarationStatusImpl(
|
||||||
javaClass.visibility.toFirVisibility(),
|
javaClass.visibility,
|
||||||
javaClass.modality
|
javaClass.modality
|
||||||
).apply {
|
).apply {
|
||||||
this.isInner = !isTopLevel && !this@buildJavaClass.isStatic
|
this.isInner = !isTopLevel && !this@buildJavaClass.isStatic
|
||||||
@@ -197,7 +197,7 @@ class JavaSymbolProvider(
|
|||||||
symbol = FirVariableSymbol(fieldId)
|
symbol = FirVariableSymbol(fieldId)
|
||||||
name = fieldName
|
name = fieldName
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
status = FirResolvedDeclarationStatusImpl(
|
||||||
javaField.visibility.toFirVisibility(),
|
javaField.visibility,
|
||||||
javaField.modality
|
javaField.modality
|
||||||
).apply {
|
).apply {
|
||||||
isStatic = javaField.isStatic
|
isStatic = javaField.isStatic
|
||||||
@@ -216,7 +216,7 @@ class JavaSymbolProvider(
|
|||||||
symbol = FirFieldSymbol(fieldId)
|
symbol = FirFieldSymbol(fieldId)
|
||||||
name = fieldName
|
name = fieldName
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
status = FirResolvedDeclarationStatusImpl(
|
||||||
javaField.visibility.toFirVisibility(),
|
javaField.visibility,
|
||||||
javaField.modality
|
javaField.modality
|
||||||
).apply {
|
).apply {
|
||||||
isStatic = javaField.isStatic
|
isStatic = javaField.isStatic
|
||||||
@@ -224,7 +224,7 @@ class JavaSymbolProvider(
|
|||||||
isActual = false
|
isActual = false
|
||||||
isOverride = false
|
isOverride = false
|
||||||
}
|
}
|
||||||
visibility = javaField.visibility.toFirVisibility()
|
visibility = javaField.visibility
|
||||||
modality = javaField.modality
|
modality = javaField.modality
|
||||||
returnTypeRef = returnType.toFirJavaTypeRef(this@JavaSymbolProvider.session, javaTypeParameterStack)
|
returnTypeRef = returnType.toFirJavaTypeRef(this@JavaSymbolProvider.session, javaTypeParameterStack)
|
||||||
isVar = !javaField.isFinal
|
isVar = !javaField.isFinal
|
||||||
@@ -248,7 +248,7 @@ class JavaSymbolProvider(
|
|||||||
source = (javaMethod as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
source = (javaMethod as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
||||||
symbol = methodSymbol
|
symbol = methodSymbol
|
||||||
name = methodName
|
name = methodName
|
||||||
visibility = javaMethod.visibility.toFirVisibility()
|
visibility = javaMethod.visibility
|
||||||
modality = javaMethod.modality
|
modality = javaMethod.modality
|
||||||
returnTypeRef = returnType.toFirJavaTypeRef(this@JavaSymbolProvider.session, javaTypeParameterStack)
|
returnTypeRef = returnType.toFirJavaTypeRef(this@JavaSymbolProvider.session, javaTypeParameterStack)
|
||||||
isStatic = javaMethod.isStatic
|
isStatic = javaMethod.isStatic
|
||||||
@@ -260,7 +260,7 @@ class JavaSymbolProvider(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
status = FirResolvedDeclarationStatusImpl(
|
||||||
javaMethod.visibility.toFirVisibility(),
|
javaMethod.visibility,
|
||||||
javaMethod.modality
|
javaMethod.modality
|
||||||
).apply {
|
).apply {
|
||||||
isStatic = javaMethod.isStatic
|
isStatic = javaMethod.isStatic
|
||||||
@@ -342,7 +342,7 @@ class JavaSymbolProvider(
|
|||||||
}
|
}
|
||||||
for (javaConstructor in javaClassDeclaredConstructors) {
|
for (javaConstructor in javaClassDeclaredConstructors) {
|
||||||
declarations += prepareJavaConstructor(
|
declarations += prepareJavaConstructor(
|
||||||
visibility = javaConstructor.visibility.toFirVisibility(),
|
visibility = javaConstructor.visibility,
|
||||||
psi = (javaConstructor as? JavaElementImpl<*>)?.psi,
|
psi = (javaConstructor as? JavaElementImpl<*>)?.psi,
|
||||||
).apply {
|
).apply {
|
||||||
this.typeParameters += javaConstructor.typeParameters.convertTypeParameters(javaTypeParameterStack)
|
this.typeParameters += javaConstructor.typeParameters.convertTypeParameters(javaTypeParameterStack)
|
||||||
@@ -411,5 +411,3 @@ class JavaSymbolProvider(
|
|||||||
|
|
||||||
fun FqName.topLevelName() =
|
fun FqName.topLevelName() =
|
||||||
asString().substringBefore(".")
|
asString().substringBefore(".")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,9 +8,6 @@ package org.jetbrains.kotlin.fir.java
|
|||||||
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
|
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
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.*
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
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.ClassId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.types.Variance.*
|
import org.jetbrains.kotlin.types.Variance.*
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
|
||||||
|
|
||||||
internal val JavaModifierListOwner.modality: Modality
|
internal val JavaModifierListOwner.modality: Modality
|
||||||
get() = when {
|
get() = when {
|
||||||
@@ -526,18 +522,3 @@ private fun JavaType.toFirResolvedTypeRef(
|
|||||||
type = ConeClassErrorType(ConeSimpleDiagnostic("Unexpected JavaType: $this", DiagnosticKind.Java))
|
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 com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.asJava.KtLightClassMarker
|
import org.jetbrains.kotlin.asJava.KtLightClassMarker
|
||||||
import org.jetbrains.kotlin.asJava.isSyntheticValuesOrValueOfMethod
|
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.load.java.structure.*
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -111,7 +111,7 @@ class JavaClassImpl(psiClass: PsiClass) : JavaClassifierImpl<PsiClass>(psiClass)
|
|||||||
override val isFinal: Boolean
|
override val isFinal: Boolean
|
||||||
get() = JavaElementUtil.isFinal(this)
|
get() = JavaElementUtil.isFinal(this)
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = JavaElementUtil.getVisibility(this)
|
get() = JavaElementUtil.getVisibility(this)
|
||||||
|
|
||||||
override val lightClassOriginKind: LightClassOriginKind?
|
override val lightClassOriginKind: LightClassOriginKind?
|
||||||
|
|||||||
+12
-9
@@ -17,12 +17,15 @@
|
|||||||
package org.jetbrains.kotlin.load.java.structure.impl;
|
package org.jetbrains.kotlin.load.java.structure.impl;
|
||||||
|
|
||||||
import com.intellij.codeInsight.ExternalAnnotationsManager;
|
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.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities;
|
import org.jetbrains.kotlin.descriptors.Visibilities;
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility;
|
import org.jetbrains.kotlin.descriptors.Visibility;
|
||||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities;
|
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities;
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation;
|
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
|
|
||||||
@@ -50,18 +53,18 @@ import static org.jetbrains.kotlin.load.java.structure.impl.JavaElementCollectio
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static DescriptorVisibility getVisibility(@NotNull JavaModifierListOwnerImpl owner) {
|
public static Visibility getVisibility(@NotNull JavaModifierListOwnerImpl owner) {
|
||||||
PsiModifierListOwner psiOwner = owner.getPsi();
|
PsiModifierListOwner psiOwner = owner.getPsi();
|
||||||
if (psiOwner.hasModifierProperty(PsiModifier.PUBLIC)) {
|
if (psiOwner.hasModifierProperty(PsiModifier.PUBLIC)) {
|
||||||
return DescriptorVisibilities.PUBLIC;
|
return Visibilities.Public.INSTANCE;
|
||||||
}
|
}
|
||||||
if (psiOwner.hasModifierProperty(PsiModifier.PRIVATE)) {
|
if (psiOwner.hasModifierProperty(PsiModifier.PRIVATE)) {
|
||||||
return DescriptorVisibilities.PRIVATE;
|
return Visibilities.Private.INSTANCE;
|
||||||
}
|
}
|
||||||
if (psiOwner.hasModifierProperty(PsiModifier.PROTECTED)) {
|
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
|
@NotNull
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ import com.intellij.psi.PsiDocCommentOwner;
|
|||||||
import com.intellij.psi.PsiMember;
|
import com.intellij.psi.PsiMember;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
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.JavaAnnotation;
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaClass;
|
import org.jetbrains.kotlin.load.java.structure.JavaClass;
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaMember;
|
import org.jetbrains.kotlin.load.java.structure.JavaMember;
|
||||||
@@ -76,7 +76,7 @@ public abstract class JavaMemberImpl<Psi extends PsiMember> extends JavaElementI
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public DescriptorVisibility getVisibility() {
|
public Visibility getVisibility() {
|
||||||
return JavaElementUtil.getVisibility(this);
|
return JavaElementUtil.getVisibility(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -21,8 +21,8 @@ import com.intellij.psi.PsiParameter;
|
|||||||
import com.intellij.psi.impl.compiled.ClsParameterImpl;
|
import com.intellij.psi.impl.compiled.ClsParameterImpl;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities;
|
import org.jetbrains.kotlin.descriptors.Visibilities;
|
||||||
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.JavaAnnotation;
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaType;
|
import org.jetbrains.kotlin.load.java.structure.JavaType;
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter;
|
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter;
|
||||||
@@ -60,8 +60,8 @@ public class JavaValueParameterImpl extends JavaElementImpl<PsiParameter>
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public DescriptorVisibility getVisibility() {
|
public Visibility getVisibility() {
|
||||||
return DescriptorVisibilities.LOCAL;
|
return Visibilities.Local.INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
+8
-8
@@ -16,9 +16,9 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.load.java.structure.impl.classFiles
|
package org.jetbrains.kotlin.load.java.structure.impl.classFiles
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaModifierListOwner
|
import org.jetbrains.kotlin.load.java.structure.JavaModifierListOwner
|
||||||
import org.jetbrains.kotlin.load.java.structure.MapBasedJavaAnnotationOwner
|
import org.jetbrains.kotlin.load.java.structure.MapBasedJavaAnnotationOwner
|
||||||
import org.jetbrains.org.objectweb.asm.Opcodes
|
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 isAbstract get() = isSet(Opcodes.ACC_ABSTRACT)
|
||||||
override val isStatic get() = isSet(Opcodes.ACC_STATIC)
|
override val isStatic get() = isSet(Opcodes.ACC_STATIC)
|
||||||
override val isFinal get() = isSet(Opcodes.ACC_FINAL)
|
override val isFinal get() = isSet(Opcodes.ACC_FINAL)
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = when {
|
get() = when {
|
||||||
isSet(Opcodes.ACC_PRIVATE) -> DescriptorVisibilities.PRIVATE
|
isSet(Opcodes.ACC_PRIVATE) -> Visibilities.Private
|
||||||
isSet(Opcodes.ACC_PROTECTED) ->
|
isSet(Opcodes.ACC_PROTECTED) ->
|
||||||
if (isStatic) JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY else JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
|
if (isStatic) JavaVisibilities.ProtectedStaticVisibility else JavaVisibilities.ProtectedAndPackage
|
||||||
isSet(Opcodes.ACC_PUBLIC) -> DescriptorVisibilities.PUBLIC
|
isSet(Opcodes.ACC_PUBLIC) -> Visibilities.Public
|
||||||
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
else -> JavaVisibilities.PackageVisibility
|
||||||
}
|
}
|
||||||
|
|
||||||
override val isDeprecatedInJavaDoc get() = isSet(Opcodes.ACC_DEPRECATED)
|
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.PsiField
|
||||||
import com.intellij.psi.PsiLiteralExpression
|
import com.intellij.psi.PsiLiteralExpression
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
|
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
|
||||||
import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName
|
import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName
|
||||||
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
|
||||||
import org.jetbrains.kotlin.load.java.structure.*
|
import org.jetbrains.kotlin.load.java.structure.*
|
||||||
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
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.psi.psiUtil.containingClassOrObject
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
|
||||||
import org.jetbrains.kotlin.psi.*
|
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.visibilityModifierType
|
import org.jetbrains.kotlin.psi.psiUtil.visibilityModifierType
|
||||||
|
|
||||||
class KotlinClassifiersCache(sourceFiles: Collection<KtFile>,
|
class KotlinClassifiersCache(sourceFiles: Collection<KtFile>,
|
||||||
@@ -98,15 +99,15 @@ class MockKotlinClassifier(override val classId: ClassId,
|
|||||||
override val fqName: FqName
|
override val fqName: FqName
|
||||||
get() = classId.asSingleFqName()
|
get() = classId.asSingleFqName()
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = if (classOrObject == null) {
|
get() = if (classOrObject == null) {
|
||||||
DescriptorVisibilities.PUBLIC
|
Visibilities.Public
|
||||||
}
|
}
|
||||||
else when (classOrObject.visibilityModifierType()) {
|
else when (classOrObject.visibilityModifierType()) {
|
||||||
null, KtTokens.PUBLIC_KEYWORD -> DescriptorVisibilities.PUBLIC
|
null, KtTokens.PUBLIC_KEYWORD -> Visibilities.Public
|
||||||
KtTokens.PRIVATE_KEYWORD -> DescriptorVisibilities.PRIVATE
|
KtTokens.PRIVATE_KEYWORD -> Visibilities.Private
|
||||||
KtTokens.PROTECTED_KEYWORD -> DescriptorVisibilities.PROTECTED
|
KtTokens.PROTECTED_KEYWORD -> Visibilities.Protected
|
||||||
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
else -> JavaVisibilities.PackageVisibility
|
||||||
}
|
}
|
||||||
|
|
||||||
override val supertypes: Collection<JavaClassifierType>
|
override val supertypes: Collection<JavaClassifierType>
|
||||||
@@ -186,7 +187,7 @@ class MockKotlinField(private val psiField: PsiField) : JavaField {
|
|||||||
override val isAbstract get() = shouldNotBeCalled()
|
override val isAbstract get() = shouldNotBeCalled()
|
||||||
override val isStatic get() = shouldNotBeCalled()
|
override val isStatic get() = shouldNotBeCalled()
|
||||||
override val isFinal 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 containingClass get() = shouldNotBeCalled()
|
||||||
override val isEnumEntry get() = shouldNotBeCalled()
|
override val isEnumEntry get() = shouldNotBeCalled()
|
||||||
override val type 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.openapi.vfs.VirtualFile
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
import org.jetbrains.kotlin.load.java.structure.*
|
import org.jetbrains.kotlin.load.java.structure.*
|
||||||
@@ -37,7 +37,7 @@ class FakeSymbolBasedClass(
|
|||||||
|
|
||||||
override val isFinal: Boolean get() = false
|
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()
|
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.openapi.vfs.VirtualFile
|
||||||
import com.intellij.psi.CommonClassNames
|
import com.intellij.psi.CommonClassNames
|
||||||
import com.intellij.psi.search.SearchScope
|
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.JavaClassWithClassId
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
import org.jetbrains.kotlin.load.java.structure.*
|
import org.jetbrains.kotlin.load.java.structure.*
|
||||||
@@ -54,7 +54,7 @@ class SymbolBasedClass(
|
|||||||
override val isFinal: Boolean
|
override val isFinal: Boolean
|
||||||
get() = element.isFinal
|
get() = element.isFinal
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = element.getVisibility()
|
get() = element.getVisibility()
|
||||||
|
|
||||||
override val typeParameters: List<JavaTypeParameter>
|
override val typeParameters: List<JavaTypeParameter>
|
||||||
|
|||||||
+2
-2
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.javac.wrappers.symbols
|
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.javac.JavacWrapper
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
|
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
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 fun findAnnotation(fqName: FqName) = element.findAnnotation(fqName, javac)
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = element.getVisibility()
|
get() = element.getVisibility()
|
||||||
|
|
||||||
override val name: Name
|
override val name: Name
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.javac.wrappers.symbols
|
package org.jetbrains.kotlin.javac.wrappers.symbols
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
|
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
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.load.java.structure.JavaValueParameter
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -36,20 +36,20 @@ internal val Element.isStatic: Boolean
|
|||||||
internal val Element.isFinal: Boolean
|
internal val Element.isFinal: Boolean
|
||||||
get() = modifiers.contains(Modifier.FINAL)
|
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 {
|
when {
|
||||||
Modifier.PUBLIC in this -> DescriptorVisibilities.PUBLIC
|
Modifier.PUBLIC in this -> Visibilities.Public
|
||||||
Modifier.PRIVATE in this -> DescriptorVisibilities.PRIVATE
|
Modifier.PRIVATE in this -> Visibilities.Private
|
||||||
Modifier.PROTECTED in this -> {
|
Modifier.PROTECTED in this -> {
|
||||||
if (Modifier.STATIC in this) {
|
if (Modifier.STATIC in this) {
|
||||||
JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY
|
JavaVisibilities.ProtectedStaticVisibility
|
||||||
} else {
|
} 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.code.Flags
|
||||||
import com.sun.tools.javac.tree.JCTree
|
import com.sun.tools.javac.tree.JCTree
|
||||||
import com.sun.tools.javac.tree.TreeInfo
|
import com.sun.tools.javac.tree.TreeInfo
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PUBLIC
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
import org.jetbrains.kotlin.javac.JavaClassWithClassId
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
import org.jetbrains.kotlin.load.java.structure.*
|
import org.jetbrains.kotlin.load.java.structure.*
|
||||||
@@ -62,8 +62,8 @@ class TreeBasedClass(
|
|||||||
override val isFinal: Boolean
|
override val isFinal: Boolean
|
||||||
get() = isEnum || tree.modifiers.isFinal
|
get() = isEnum || tree.modifiers.isFinal
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = if (outerClass?.isInterface == true) PUBLIC else tree.modifiers.visibility
|
get() = if (outerClass?.isInterface == true) Visibilities.Public else tree.modifiers.visibility
|
||||||
|
|
||||||
override val typeParameters: List<JavaTypeParameter>
|
override val typeParameters: List<JavaTypeParameter>
|
||||||
get() = tree.typeParameters.map { parameter ->
|
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.source.tree.CompilationUnitTree
|
||||||
import com.sun.tools.javac.tree.JCTree
|
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.javac.JavacWrapper
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaConstructor
|
import org.jetbrains.kotlin.load.java.structure.JavaConstructor
|
||||||
@@ -45,7 +45,7 @@ class TreeBasedConstructor(
|
|||||||
override val isFinal: Boolean
|
override val isFinal: Boolean
|
||||||
get() = true
|
get() = true
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = tree.modifiers.visibility
|
get() = tree.modifiers.visibility
|
||||||
|
|
||||||
override val typeParameters: List<JavaTypeParameter>
|
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.source.tree.CompilationUnitTree
|
||||||
import com.sun.tools.javac.code.Flags
|
import com.sun.tools.javac.code.Flags
|
||||||
import com.sun.tools.javac.tree.JCTree
|
import com.sun.tools.javac.tree.JCTree
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
import org.jetbrains.kotlin.javac.resolve.ConstantEvaluator
|
import org.jetbrains.kotlin.javac.resolve.ConstantEvaluator
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||||
@@ -47,8 +47,8 @@ class TreeBasedField(
|
|||||||
override val isFinal: Boolean
|
override val isFinal: Boolean
|
||||||
get() = containingClass.isInterface || tree.modifiers.isFinal
|
get() = containingClass.isInterface || tree.modifiers.isFinal
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = if (containingClass.isInterface) DescriptorVisibilities.PUBLIC else tree.modifiers.visibility
|
get() = if (containingClass.isInterface) Visibilities.Public else tree.modifiers.visibility
|
||||||
|
|
||||||
override val isEnumEntry: Boolean
|
override val isEnumEntry: Boolean
|
||||||
get() = tree.modifiers.flags and Flags.ENUM.toLong() != 0L
|
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.source.tree.CompilationUnitTree
|
||||||
import com.sun.tools.javac.tree.JCTree
|
import com.sun.tools.javac.tree.JCTree
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
import org.jetbrains.kotlin.load.java.structure.*
|
import org.jetbrains.kotlin.load.java.structure.*
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -43,8 +43,8 @@ class TreeBasedMethod(
|
|||||||
override val isFinal: Boolean
|
override val isFinal: Boolean
|
||||||
get() = tree.modifiers.isFinal
|
get() = tree.modifiers.isFinal
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = if (containingClass.isInterface) DescriptorVisibilities.PUBLIC else tree.modifiers.visibility
|
get() = if (containingClass.isInterface) Visibilities.Public else tree.modifiers.visibility
|
||||||
|
|
||||||
override val typeParameters: List<JavaTypeParameter>
|
override val typeParameters: List<JavaTypeParameter>
|
||||||
get() = tree.typeParameters.map { TreeBasedTypeParameter(it, compilationUnit, javac, this) }
|
get() = tree.typeParameters.map { TreeBasedTypeParameter(it, compilationUnit, javac, this) }
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.javac.wrappers.trees
|
package org.jetbrains.kotlin.javac.wrappers.trees
|
||||||
|
|
||||||
import com.sun.tools.javac.tree.JCTree
|
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.SymbolBasedArrayAnnotationArgument
|
||||||
import org.jetbrains.kotlin.javac.wrappers.symbols.SymbolBasedReferenceAnnotationArgument
|
import org.jetbrains.kotlin.javac.wrappers.symbols.SymbolBasedReferenceAnnotationArgument
|
||||||
import org.jetbrains.kotlin.javac.wrappers.symbols.getVisibility
|
import org.jetbrains.kotlin.javac.wrappers.symbols.getVisibility
|
||||||
@@ -39,7 +39,7 @@ internal val JCTree.JCModifiers.isStatic: Boolean
|
|||||||
internal val JCTree.JCModifiers.hasDefaultModifier: Boolean
|
internal val JCTree.JCModifiers.hasDefaultModifier: Boolean
|
||||||
get() = Modifier.DEFAULT in getFlags()
|
get() = Modifier.DEFAULT in getFlags()
|
||||||
|
|
||||||
internal val JCTree.JCModifiers.visibility: DescriptorVisibility
|
internal val JCTree.JCModifiers.visibility: Visibility
|
||||||
get() = getFlags().getVisibility()
|
get() = getFlags().getVisibility()
|
||||||
|
|
||||||
internal fun JCTree.annotations(): Collection<JCTree.JCAnnotation> = when (this) {
|
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.JavaClass
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaClassifierType
|
import org.jetbrains.kotlin.load.java.structure.JavaClassifierType
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaType
|
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.FqName
|
||||||
import org.jetbrains.kotlin.name.isValidJavaFqName
|
import org.jetbrains.kotlin.name.isValidJavaFqName
|
||||||
import org.jetbrains.kotlin.resolve.constants.StringValue
|
import org.jetbrains.kotlin.resolve.constants.StringValue
|
||||||
@@ -89,8 +90,13 @@ class LazyJavaClassDescriptor(
|
|||||||
// which can be inherited from the same package.
|
// which can be inherited from the same package.
|
||||||
// Kotlin considers this "private in package" just as "private" and thinks they are invisible for inheritors,
|
// 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.
|
// so their functions are invisible fake which is not true.
|
||||||
override fun getVisibility() =
|
override fun getVisibility(): DescriptorVisibility {
|
||||||
if (visibility == DescriptorVisibilities.PRIVATE && jClass.outerClass == null) JavaDescriptorVisibilities.PACKAGE_VISIBILITY else visibility
|
return if (visibility == DescriptorVisibilities.PRIVATE && jClass.outerClass == null) {
|
||||||
|
JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
||||||
|
} else {
|
||||||
|
visibility.toDescriptorVisibility()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun isInner() = isInner
|
override fun isInner() = isInner
|
||||||
override fun isData() = false
|
override fun isData() = false
|
||||||
|
|||||||
+2
-2
@@ -496,7 +496,7 @@ class LazyJavaClassMemberScope(
|
|||||||
val annotations = c.resolveAnnotations(method)
|
val annotations = c.resolveAnnotations(method)
|
||||||
|
|
||||||
val propertyDescriptor = JavaPropertyDescriptor.create(
|
val propertyDescriptor = JavaPropertyDescriptor.create(
|
||||||
ownerDescriptor, annotations, modality, method.visibility,
|
ownerDescriptor, annotations, modality, method.visibility.toDescriptorVisibility(),
|
||||||
/* isVar = */ false, method.name, c.components.sourceElementFactory.source(method),
|
/* isVar = */ false, method.name, c.components.sourceElementFactory.source(method),
|
||||||
/* isStaticFinal = */ false
|
/* isStaticFinal = */ false
|
||||||
)
|
)
|
||||||
@@ -606,7 +606,7 @@ class LazyJavaClassMemberScope(
|
|||||||
classDescriptor.declaredTypeParameters +
|
classDescriptor.declaredTypeParameters +
|
||||||
constructor.typeParameters.map { p -> c.typeParameterResolver.resolveTypeParameter(p)!! }
|
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.setHasStableParameterNames(false)
|
||||||
constructorDescriptor.setHasSynthesizedParameterNames(valueParameters.hasSynthesizedNames)
|
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.JavaField
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaMethod
|
import org.jetbrains.kotlin.load.java.structure.JavaMethod
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter
|
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.load.kotlin.computeJvmDescriptor
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.resolve.*
|
import org.jetbrains.kotlin.resolve.*
|
||||||
@@ -174,7 +175,7 @@ abstract class LazyJavaScope(
|
|||||||
effectiveSignature.valueParameters,
|
effectiveSignature.valueParameters,
|
||||||
effectiveSignature.returnType,
|
effectiveSignature.returnType,
|
||||||
Modality.convertFromFlags(method.isAbstract, !method.isFinal),
|
Modality.convertFromFlags(method.isAbstract, !method.isFinal),
|
||||||
method.visibility,
|
method.visibility.toDescriptorVisibility(),
|
||||||
if (effectiveSignature.receiverType != null)
|
if (effectiveSignature.receiverType != null)
|
||||||
mapOf(JavaMethodDescriptor.ORIGINAL_VALUE_PARAMETER_FOR_EXTENSION_RECEIVER to valueParameters.descriptors.first())
|
mapOf(JavaMethodDescriptor.ORIGINAL_VALUE_PARAMETER_FOR_EXTENSION_RECEIVER to valueParameters.descriptors.first())
|
||||||
else
|
else
|
||||||
@@ -321,7 +322,7 @@ abstract class LazyJavaScope(
|
|||||||
val annotations = c.resolveAnnotations(field)
|
val annotations = c.resolveAnnotations(field)
|
||||||
|
|
||||||
return JavaPropertyDescriptor.create(
|
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
|
c.components.sourceElementFactory.source(field), /* isConst = */ field.isFinalStatic
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.load.java.structure
|
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.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -38,7 +38,7 @@ interface JavaModifierListOwner : JavaElement {
|
|||||||
val isAbstract: Boolean
|
val isAbstract: Boolean
|
||||||
val isStatic: Boolean
|
val isStatic: Boolean
|
||||||
val isFinal: Boolean
|
val isFinal: Boolean
|
||||||
val visibility: DescriptorVisibility
|
val visibility: Visibility
|
||||||
}
|
}
|
||||||
|
|
||||||
interface JavaTypeParameterListOwner : JavaElement {
|
interface JavaTypeParameterListOwner : JavaElement {
|
||||||
|
|||||||
@@ -18,9 +18,7 @@ package org.jetbrains.kotlin.load.java
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
|
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
import org.jetbrains.kotlin.resolve.deprecation.Deprecation
|
||||||
@@ -72,3 +70,5 @@ class DeprecationCausedByFunctionN(override val target: DeclarationDescriptor) :
|
|||||||
override val message: String?
|
override val message: String?
|
||||||
get() = "Java members containing references to ${JavaToKotlinClassMap.FUNCTION_N_FQ_NAME} are not supported"
|
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
|
package org.jetbrains.kotlin.descriptors.runtime.structure
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaModifierListOwner
|
import org.jetbrains.kotlin.load.java.structure.JavaModifierListOwner
|
||||||
import java.lang.reflect.Modifier
|
import java.lang.reflect.Modifier
|
||||||
|
|
||||||
@@ -34,15 +34,15 @@ interface ReflectJavaModifierListOwner : JavaModifierListOwner {
|
|||||||
override val isFinal: Boolean
|
override val isFinal: Boolean
|
||||||
get() = Modifier.isFinal(modifiers)
|
get() = Modifier.isFinal(modifiers)
|
||||||
|
|
||||||
override val visibility: DescriptorVisibility
|
override val visibility: Visibility
|
||||||
get() = modifiers.let { modifiers ->
|
get() = modifiers.let { modifiers ->
|
||||||
when {
|
when {
|
||||||
Modifier.isPublic(modifiers) -> DescriptorVisibilities.PUBLIC
|
Modifier.isPublic(modifiers) -> Visibilities.Public
|
||||||
Modifier.isPrivate(modifiers) -> DescriptorVisibilities.PRIVATE
|
Modifier.isPrivate(modifiers) -> Visibilities.Private
|
||||||
Modifier.isProtected(modifiers) ->
|
Modifier.isProtected(modifiers) ->
|
||||||
if (Modifier.isStatic(modifiers)) JavaDescriptorVisibilities.PROTECTED_STATIC_VISIBILITY
|
if (Modifier.isStatic(modifiers)) JavaVisibilities.ProtectedStaticVisibility
|
||||||
else JavaDescriptorVisibilities.PROTECTED_AND_PACKAGE
|
else JavaVisibilities.ProtectedAndPackage
|
||||||
else -> JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
else -> JavaVisibilities.PackageVisibility
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user