Fix testClassObjectCopiedFieldObject test
Fix of the test PsiCheckerTestGenerated$DuplicateJvmSignature$Fields.testClassObjectCopiedFieldObject additionally fixed the bug with blinking this test example in IDEA with UL classes enabled. The story: Extra diagnostics could be requested for any KtClassOrObject but for _nested_ classes result may depend on outer class members signature collecting. So the the order of outer/nested diagnostic reporting takes matter. So for nested classes/objects we have to gen members of outer classes.
This commit is contained in:
+3
-4
@@ -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)) {
|
if (classOrObject.isAncestor(processingClassOrObject, true) || processingClassOrObject.isAncestor(classOrObject, true)) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,9 +196,8 @@ private class ClassFilterForClassOrObject(private val classOrObject: KtClassOrOb
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun shouldGenerateClass(processingClassOrObject: KtClassOrObject)
|
override fun shouldGenerateClass(processingClassOrObject: KtClassOrObject) =
|
||||||
// generate outer classes but not their members
|
shouldGenerateClassMembers(processingClassOrObject)
|
||||||
= 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
|
||||||
|
|||||||
Reference in New Issue
Block a user