From 8fbd75ce275598fa62400dfb662bd2cc15302cc2 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 29 Mar 2017 19:09:11 +0300 Subject: [PATCH] AbstractIdeLightClassTest: minor, refactor --- .../caches/resolve/AbstractIdeLightClassTest.kt | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/AbstractIdeLightClassTest.kt b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/AbstractIdeLightClassTest.kt index f5792ec8800..3852cc3e9f6 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/AbstractIdeLightClassTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/AbstractIdeLightClassTest.kt @@ -187,6 +187,7 @@ object LightClassLazinessChecker { } // collect method class results on light members that should not trigger exact context evaluation + val classInfo = classInfo(lightClass) val fieldsToInfo = lightClass.fields.asList().keysToMap { fieldInfo(it) } val methodsToInfo = lightClass.methods.asList().keysToMap { methodInfo(it) } @@ -199,9 +200,6 @@ object LightClassLazinessChecker { // still running code above to catch possible exceptions if (lazinessMode == Mode.NoConsistency) return - assertEquals(lightClass.clsDelegate.methods.names(), lightClass.methods.names()) - assertEquals(lightClass.clsDelegate.fields.names(), lightClass.fields.names()) - // check collected data against delegates which should contain correct data for ((field, lightFieldInfo) in fieldsToInfo) { val delegate = (field as KtLightField).clsDelegate @@ -211,9 +209,18 @@ object LightClassLazinessChecker { val delegate = (method as KtLightMethod).clsDelegate assertEquals(methodInfo(delegate), lightMethodInfo) } + + assertEquals(classInfo(lightClass.clsDelegate), classInfo) } - private fun Array.names() = mapTo(LinkedHashSet()) { it.name } + private data class ClassInfo( + val fieldNames: Collection, + val methodNames: Collection + ) + + private fun classInfo(psiClass: PsiClass) = with(psiClass) { + ClassInfo(fields.names(), methods.names()) + } private data class FieldInfo( val name: String, @@ -240,6 +247,8 @@ object LightClassLazinessChecker { isConstructor, method.parameterList.parametersCount, isVarArgs ) } + + private fun Array.names() = mapTo(LinkedHashSet()) { it.name!! } } private fun String.removeLinesStartingWith(prefix: String): String {