- Package facade classes should have ACC_DEPRECATED
- Light classes for package facades should be deprecated
This commit is contained in:
@@ -112,7 +112,7 @@ public class PackageCodegen {
|
|||||||
packageClassType, PackagePartClassUtils.getFilesWithCallables(files)
|
packageClassType, PackagePartClassUtils.getFilesWithCallables(files)
|
||||||
);
|
);
|
||||||
v.defineClass(sourceFile, V1_6,
|
v.defineClass(sourceFile, V1_6,
|
||||||
ACC_PUBLIC | ACC_FINAL,
|
ACC_PUBLIC | ACC_FINAL | ACC_DEPRECATED,
|
||||||
packageClassType.getInternalName(),
|
packageClassType.getInternalName(),
|
||||||
null,
|
null,
|
||||||
"java/lang/Object",
|
"java/lang/Object",
|
||||||
|
|||||||
@@ -42,7 +42,8 @@ public class KotlinLightClassForFacade private constructor(
|
|||||||
private val facadeClassFqName: FqName,
|
private val facadeClassFqName: FqName,
|
||||||
private val searchScope: GlobalSearchScope,
|
private val searchScope: GlobalSearchScope,
|
||||||
private val lightClassDataCache: CachedValue<KotlinFacadeLightClassData>,
|
private val lightClassDataCache: CachedValue<KotlinFacadeLightClassData>,
|
||||||
files: Collection<JetFile>
|
files: Collection<JetFile>,
|
||||||
|
private val deprecated: Boolean
|
||||||
) : KotlinWrappingLightClass(manager), JetJavaMirrorMarker {
|
) : KotlinWrappingLightClass(manager), JetJavaMirrorMarker {
|
||||||
|
|
||||||
private data class StubCacheKey(val fqName: FqName, val searchScope: GlobalSearchScope)
|
private data class StubCacheKey(val fqName: FqName, val searchScope: GlobalSearchScope)
|
||||||
@@ -127,7 +128,7 @@ public class KotlinLightClassForFacade private constructor(
|
|||||||
|
|
||||||
override fun hasModifierProperty(@NonNls name: String) = modifierList.hasModifierProperty(name)
|
override fun hasModifierProperty(@NonNls name: String) = modifierList.hasModifierProperty(name)
|
||||||
|
|
||||||
override fun isDeprecated() = false
|
override fun isDeprecated() = deprecated
|
||||||
|
|
||||||
override fun isInterface() = false
|
override fun isInterface() = false
|
||||||
|
|
||||||
@@ -186,7 +187,7 @@ public class KotlinLightClassForFacade private constructor(
|
|||||||
|
|
||||||
override fun isValid() = files.all { it.isValid() }
|
override fun isValid() = files.all { it.isValid() }
|
||||||
|
|
||||||
override fun copy() = KotlinLightClassForFacade(getManager(), facadeClassFqName, searchScope, lightClassDataCache, files)
|
override fun copy() = KotlinLightClassForFacade(getManager(), facadeClassFqName, searchScope, lightClassDataCache, files, deprecated)
|
||||||
|
|
||||||
override fun getDelegate(): PsiClass {
|
override fun getDelegate(): PsiClass {
|
||||||
val psiClass = LightClassUtil.findClass(facadeClassFqName, lightClassDataCache.getValue().javaFileStub)
|
val psiClass = LightClassUtil.findClass(facadeClassFqName, lightClassDataCache.getValue().javaFileStub)
|
||||||
@@ -251,7 +252,7 @@ public class KotlinLightClassForFacade private constructor(
|
|||||||
|
|
||||||
val packageClassFqName = PackageClassUtils.getPackageClassFqName(packageFqName)
|
val packageClassFqName = PackageClassUtils.getPackageClassFqName(packageFqName)
|
||||||
val lightClassDataCache = PackageFacadeStubCache.getInstance(manager.project).get(packageFqName, searchScope)
|
val lightClassDataCache = PackageFacadeStubCache.getInstance(manager.project).get(packageFqName, searchScope)
|
||||||
return KotlinLightClassForFacade(manager, packageClassFqName, searchScope, lightClassDataCache, files)
|
return KotlinLightClassForFacade(manager, packageClassFqName, searchScope, lightClassDataCache, files, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun createForFacade(
|
public fun createForFacade(
|
||||||
@@ -267,7 +268,7 @@ public class KotlinLightClassForFacade private constructor(
|
|||||||
assert(files.isNotEmpty()) { "No files for facade $facadeClassFqName" }
|
assert(files.isNotEmpty()) { "No files for facade $facadeClassFqName" }
|
||||||
|
|
||||||
val lightClassDataCache = FacadeStubCache.getInstance(manager.project).get(facadeClassFqName, searchScope)
|
val lightClassDataCache = FacadeStubCache.getInstance(manager.project).get(facadeClassFqName, searchScope)
|
||||||
return KotlinLightClassForFacade(manager, facadeClassFqName, searchScope, lightClassDataCache, files)
|
return KotlinLightClassForFacade(manager, facadeClassFqName, searchScope, lightClassDataCache, files, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -1,3 +1,6 @@
|
|||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
@java.lang.Deprecated
|
@java.lang.Deprecated
|
||||||
public final class _DefaultPackage {
|
public final class _DefaultPackage {
|
||||||
@kotlin.jvm.internal.KotlinDelegatedMethod(implementationClassName = "NullableUnitReturnKt")
|
@kotlin.jvm.internal.KotlinDelegatedMethod(implementationClassName = "NullableUnitReturnKt")
|
||||||
|
|||||||
+3
@@ -1,3 +1,6 @@
|
|||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
@java.lang.Deprecated
|
@java.lang.Deprecated
|
||||||
public final class _DefaultPackage {
|
public final class _DefaultPackage {
|
||||||
@kotlin.jvm.internal.KotlinDelegatedMethod(implementationClassName = "UnitParameterKt")
|
@kotlin.jvm.internal.KotlinDelegatedMethod(implementationClassName = "UnitParameterKt")
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
@java.lang.Deprecated
|
@java.lang.Deprecated
|
||||||
public final class _DefaultPackage {
|
public final class _DefaultPackage {
|
||||||
@kotlin.jvm.internal.KotlinDelegatedMethod(implementationClassName = "VoidReturnKt")
|
@kotlin.jvm.internal.KotlinDelegatedMethod(implementationClassName = "VoidReturnKt")
|
||||||
|
|||||||
+3
@@ -1,3 +1,6 @@
|
|||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
@java.lang.Deprecated
|
@java.lang.Deprecated
|
||||||
public final class _DefaultPackage {
|
public final class _DefaultPackage {
|
||||||
@kotlin.jvm.internal.KotlinDelegatedMethod(implementationClassName = "_DefaultPackageKt")
|
@kotlin.jvm.internal.KotlinDelegatedMethod(implementationClassName = "_DefaultPackageKt")
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ public abstract class KotlinLightClassStructureTest extends KotlinAsJavaTestBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testPackage() throws Exception {
|
public void testPackage() throws Exception {
|
||||||
checkModifiers("test.TestPackage", PUBLIC, FINAL);
|
checkModifiers("test.TestPackage", PUBLIC, FINAL, DEPRECATED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user