From 8fdb611e3b33615749b48e49aa2666d5e22f6719 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 14 Apr 2017 15:20:10 +0300 Subject: [PATCH] Do not try to inline properties from decompiled files This removes GUI freeze for library properties #KT-17234 Fixed --- .../kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt | 3 +++ .../inline/inlineVariableOrProperty/property/Library.kt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt index 70a1dd8bbda..644adbd558a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineValHandler.kt @@ -61,6 +61,9 @@ class KotlinInlineValHandler : InlineActionHandler() { val declaration = element as KtProperty val file = declaration.containingKtFile val name = declaration.name ?: return + if (file.isCompiled) { + return showErrorHint(project, editor, "Cannot inline '$name' from a decompiled file") + } val references = ReferencesSearch.search(declaration) val referenceExpressions = mutableListOf() diff --git a/idea/testData/refactoring/inline/inlineVariableOrProperty/property/Library.kt b/idea/testData/refactoring/inline/inlineVariableOrProperty/property/Library.kt index 5305a705050..c915300b859 100644 --- a/idea/testData/refactoring/inline/inlineVariableOrProperty/property/Library.kt +++ b/idea/testData/refactoring/inline/inlineVariableOrProperty/property/Library.kt @@ -1,4 +1,4 @@ -// ERROR: Cannot perform refactoring.\nVariable length has no initializer +// ERROR: Cannot inline 'length' from a decompiled file fun foo(s: String) { val l = s.length