diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineFunctionHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineFunctionHandler.kt index 8b8c3944d8e..ee7cf77db30 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineFunctionHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/KotlinInlineFunctionHandler.kt @@ -21,7 +21,6 @@ import com.intellij.lang.refactoring.InlineActionHandler import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import com.intellij.psi.PsiElement -import com.intellij.psi.search.GlobalSearchScope import com.intellij.refactoring.RefactoringBundle import com.intellij.refactoring.util.CommonRefactoringUtil import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor @@ -45,11 +44,7 @@ class KotlinInlineFunctionHandler: InlineActionHandler() { override fun isEnabledForLanguage(language: Language) = language == KotlinLanguage.INSTANCE //TODO: overrides etc - override fun canInlineElement(element: PsiElement): Boolean { - return element is KtNamedFunction - && element.hasBody() - && element.getUseScope() is GlobalSearchScope // TODO support local functions - } + override fun canInlineElement(element: PsiElement) = element is KtNamedFunction && element.hasBody() override fun inlineElement(project: Project, editor: Editor?, element: PsiElement) { element as KtNamedFunction diff --git a/idea/testData/refactoring/inline/function/LocalCapturing.kt b/idea/testData/refactoring/inline/function/LocalCapturing.kt index 093ad4eb453..38422810458 100644 --- a/idea/testData/refactoring/inline/function/LocalCapturing.kt +++ b/idea/testData/refactoring/inline/function/LocalCapturing.kt @@ -7,6 +7,5 @@ fun foo() { bar(t) } - // TODO: should be available local() } \ No newline at end of file diff --git a/idea/testData/refactoring/inline/function/LocalCapturing.kt.after b/idea/testData/refactoring/inline/function/LocalCapturing.kt.after new file mode 100644 index 00000000000..ab9943f630e --- /dev/null +++ b/idea/testData/refactoring/inline/function/LocalCapturing.kt.after @@ -0,0 +1,7 @@ +fun bar(s: String) {} + +fun foo() { + val t = "Test" + + bar(t) +} diff --git a/idea/testData/refactoring/inline/function/LocalSimple.kt b/idea/testData/refactoring/inline/function/LocalSimple.kt index 17f6a37ef03..953b57d85b8 100644 --- a/idea/testData/refactoring/inline/function/LocalSimple.kt +++ b/idea/testData/refactoring/inline/function/LocalSimple.kt @@ -5,6 +5,5 @@ fun foo() { bar("Test") } - // TODO: should be available local() } \ No newline at end of file diff --git a/idea/testData/refactoring/inline/function/LocalSimple.kt.after b/idea/testData/refactoring/inline/function/LocalSimple.kt.after new file mode 100644 index 00000000000..38f7a3acaef --- /dev/null +++ b/idea/testData/refactoring/inline/function/LocalSimple.kt.after @@ -0,0 +1,6 @@ +fun bar(s: String) {} + +fun foo() { + + bar("Test") +} diff --git a/idea/testData/refactoring/inline/function/returnAtEnd/PrivateMember.kt b/idea/testData/refactoring/inline/function/returnAtEnd/PrivateMember.kt index 33beab7695d..1b22609196d 100644 --- a/idea/testData/refactoring/inline/function/returnAtEnd/PrivateMember.kt +++ b/idea/testData/refactoring/inline/function/returnAtEnd/PrivateMember.kt @@ -1,6 +1,5 @@ class My { fun run() { - // TODO: should be available val foo = doThing() System.out.println(foo) } diff --git a/idea/testData/refactoring/inline/function/returnAtEnd/PrivateMember.kt.after b/idea/testData/refactoring/inline/function/returnAtEnd/PrivateMember.kt.after new file mode 100644 index 00000000000..fda45fc39fa --- /dev/null +++ b/idea/testData/refactoring/inline/function/returnAtEnd/PrivateMember.kt.after @@ -0,0 +1,9 @@ +class My { + fun run() { + // foo1 should be here + val foo = 1 + 2 + val foo = foo + System.out.println(foo) + } + +} \ No newline at end of file