Revert commit and additional workaround to diagnostics problem
Another workaround of testClassObjectCopiedFieldObject test fix
Revert "Fix testClassObjectCopiedFieldObject test"
This reverts commit 8def1f07aa.
This commit is contained in:
+4
-3
@@ -170,7 +170,7 @@ private class ClassFilterForClassOrObject(private val classOrObject: KtClassOrOb
|
|||||||
if (classOrObject === processingClassOrObject) return true
|
if (classOrObject === processingClassOrObject) return true
|
||||||
|
|
||||||
// process all children
|
// process all children
|
||||||
if (classOrObject.isAncestor(processingClassOrObject, true) || processingClassOrObject.isAncestor(classOrObject, true)) {
|
if (classOrObject.isAncestor(processingClassOrObject, true)) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,8 +196,9 @@ private class ClassFilterForClassOrObject(private val classOrObject: KtClassOrOb
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun shouldGenerateClass(processingClassOrObject: KtClassOrObject) =
|
override fun shouldGenerateClass(processingClassOrObject: KtClassOrObject)
|
||||||
shouldGenerateClassMembers(processingClassOrObject)
|
// generate outer classes but not their members
|
||||||
|
= shouldGenerateClassMembers(processingClassOrObject) || processingClassOrObject.isAncestor(classOrObject, true)
|
||||||
|
|
||||||
override fun shouldGenerateScript(script: KtScript) = PsiTreeUtil.isAncestor(script, classOrObject, false)
|
override fun shouldGenerateScript(script: KtScript) = PsiTreeUtil.isAncestor(script, classOrObject, false)
|
||||||
override fun shouldGenerateCodeFragment(script: KtCodeFragment) = false
|
override fun shouldGenerateCodeFragment(script: KtCodeFragment) = false
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.asJava.builder.InvalidLightClassDataHolder
|
|||||||
import org.jetbrains.kotlin.asJava.builder.LightClassDataProviderForFileFacade
|
import org.jetbrains.kotlin.asJava.builder.LightClassDataProviderForFileFacade
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
|
||||||
|
import org.jetbrains.kotlin.asJava.classes.getOutermostClassOrObject
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory.cast
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory.cast
|
||||||
@@ -49,7 +50,8 @@ fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Diagnostic
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getDiagnosticsForClass(ktClassOrObject: KtClassOrObject): Diagnostics {
|
fun getDiagnosticsForClass(ktClassOrObject: KtClassOrObject): Diagnostics {
|
||||||
val lightClassDataHolder = KtLightClassForSourceDeclaration.getLightClassDataHolder(ktClassOrObject)
|
val outermostClass = getOutermostClassOrObject(ktClassOrObject)
|
||||||
|
val lightClassDataHolder = KtLightClassForSourceDeclaration.getLightClassDataHolder(outermostClass)
|
||||||
if (lightClassDataHolder is InvalidLightClassDataHolder) {
|
if (lightClassDataHolder is InvalidLightClassDataHolder) {
|
||||||
return Diagnostics.EMPTY
|
return Diagnostics.EMPTY
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user