From 433dfdd1e8ff8a84f0ba401569032c5083237c4c Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 29 Dec 2016 19:15:28 +0300 Subject: [PATCH] Check the backing field before checking accessors in KotlinAnnotatedElementsSearcher. This should be faster, and it fixes the problem with IDEA hangs in DataBinding. --- .../ideaExtensions/KotlinAnnotatedElementsSearcher.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt index a34e381ef32..b64365ac6b4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinAnnotatedElementsSearcher.kt @@ -55,9 +55,12 @@ class KotlinAnnotatedElementsSearcher : QueryExecutor { - with (LightClassUtil.getLightClassPropertyMethods(declaration)) { - if (backingField != null) consumer.process(backingField) else all { consumer.process(it) } + val backingField = LightClassUtil.getLightClassBackingField(declaration) + if (backingField != null) { + return@processAnnotatedMembers consumer.process(backingField) } + + LightClassUtil.getLightClassPropertyMethods(declaration).all { consumer.process(it) } } else -> true }