Light Classes: Drop obsolete constraint which prevents generation of light methods for local class members
#KT-8892 Fixed
This commit is contained in:
@@ -177,6 +177,7 @@
|
||||
|
||||
###### Issues fixed
|
||||
- [`KT-8860`](https://youtrack.jetbrains.com/issue/KT-8860) Allow renaming class by constructor delegation call referencing primary constructor
|
||||
- [`KT-8892`](https://youtrack.jetbrains.com/issue/KT-8892) Suggest renaming base declarations on overriding members in object literals
|
||||
- [`KT-9156`](https://youtrack.jetbrains.com/issue/KT-9156) Quote non-identifier names in Kotlin references
|
||||
- [`KT-9157`](https://youtrack.jetbrains.com/issue/KT-9157) Fixed in-place rename of Kotlin expression referring Java declaration
|
||||
- [`KT-9241`](https://youtrack.jetbrains.com/issue/KT-9241) Do not replace Java references to synthetic component functions when renaming constructor parameter
|
||||
|
||||
+1
@@ -417,6 +417,7 @@ open class KtLightClassForExplicitDeclaration(
|
||||
|
||||
private fun predictFqName(classOrObject: KtClassOrObject): FqName? {
|
||||
if (classOrObject.isLocal()) {
|
||||
if (classOrObject.containingFile.virtualFile == null) return null
|
||||
val data = getLightClassDataExactly(classOrObject)
|
||||
return data?.jvmQualifiedName
|
||||
}
|
||||
|
||||
@@ -162,12 +162,6 @@ object LightClassUtil {
|
||||
return declaration.getContainingClassOrObject().toLightClass()
|
||||
}
|
||||
|
||||
if (!canGenerateLightClass(declaration)) {
|
||||
// Can't get wrappers for internal declarations. Their classes are not generated during calcStub
|
||||
// with ClassBuilderMode.LIGHT_CLASSES mode, and this produces "Class not found exception" in getDelegate()
|
||||
return null
|
||||
}
|
||||
|
||||
val parent = declaration.parent
|
||||
|
||||
if (parent is KtFile) {
|
||||
|
||||
@@ -45,7 +45,7 @@ public class KotlinJavaFacadeTest extends KotlinLightCodeInsightFixtureTestCase
|
||||
}
|
||||
|
||||
public void testDoNotWrapFunFromLocalClass() {
|
||||
doTestWrapMethod(false);
|
||||
doTestWrapMethod(true);
|
||||
}
|
||||
|
||||
public void testObjectSubclassing() {
|
||||
@@ -53,7 +53,7 @@ public class KotlinJavaFacadeTest extends KotlinLightCodeInsightFixtureTestCase
|
||||
}
|
||||
|
||||
public void testDoNotWrapFunInAnonymousObject() {
|
||||
doTestWrapMethod(false);
|
||||
doTestWrapMethod(true);
|
||||
}
|
||||
|
||||
public void testWrapFunInClassWithoutBody() {
|
||||
@@ -145,7 +145,7 @@ public class KotlinJavaFacadeTest extends KotlinLightCodeInsightFixtureTestCase
|
||||
}
|
||||
|
||||
public void testWrapVarPropertyInLocalClass() {
|
||||
doTestWrapProperty(false, false);
|
||||
doTestWrapProperty(true, true);
|
||||
}
|
||||
|
||||
public void testWrapVarTopLevelAccessor() {
|
||||
|
||||
Reference in New Issue
Block a user