From 6bea9999d55c444b31bb8bab85f3fff6cd40ba23 Mon Sep 17 00:00:00 2001 From: "Natalia.Ukhorskaya" Date: Thu, 7 Mar 2013 14:02:15 +0400 Subject: [PATCH] Introduce variable does something really strange for expression in square brackets #KT-2490 Fixed --- .../introduceVariable/JetIntroduceVariableHandler.java | 3 +++ .../refactoring/introduceVariable/ArrayAccessExpr.kt | 9 +++++++++ .../introduceVariable/JetIntroduceVariableTest.java | 4 ++++ 3 files changed, 16 insertions(+) create mode 100644 idea/testData/refactoring/introduceVariable/ArrayAccessExpr.kt diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java b/idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java index c6c1e38df22a9..8adcab0a0c62a 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java @@ -526,6 +526,9 @@ else if (parent.getParent() instanceof JetLoopExpression && ((JetLoopExpression)parent.getParent()).getBody() != place) { return true; } + else if (parent.getParent() instanceof JetArrayAccessExpression) { + return true; + } return false; } diff --git a/idea/testData/refactoring/introduceVariable/ArrayAccessExpr.kt b/idea/testData/refactoring/introduceVariable/ArrayAccessExpr.kt new file mode 100644 index 0000000000000..52b4a8ef50eb1 --- /dev/null +++ b/idea/testData/refactoring/introduceVariable/ArrayAccessExpr.kt @@ -0,0 +1,9 @@ +fun f(list: List) { + val value = list[1 + 2] +} +/* +fun f(list: List) { + val i = 1 + 2 + val value = list[i] +} +*/ \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableTest.java b/idea/tests/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableTest.java index 10d1af07517c8..1710005e0f715 100644 --- a/idea/tests/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableTest.java @@ -137,6 +137,10 @@ public void testWhileCondition() { doTest(); } + public void testArrayAccessExpr() { + doTest(); + } + @Override protected void setUp() throws Exception { super.setUp();