diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java b/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java index 50345e9b618..aac35c44a27 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java @@ -411,7 +411,7 @@ public class JetRefactoringUtil { addExpression = false; } } - else if (element.getParent() instanceof JetCallElement) { + else if (element.getParent() instanceof JetCallElement || element.getParent() instanceof JetThisExpression) { addExpression = false; } else if (element.getParent() instanceof JetOperationExpression) { diff --git a/idea/testData/smartSelection/labelledThis.kt b/idea/testData/smartSelection/labelledThis.kt new file mode 100644 index 00000000000..18c78ade4f7 --- /dev/null +++ b/idea/testData/smartSelection/labelledThis.kt @@ -0,0 +1,9 @@ +class Foo() { + val s = this@Foo.toString() +} + +// 'this' should not be listed, only 'this@Foo' +/* +this@Foo +this@Foo.toString() +*/ diff --git a/idea/tests/org/jetbrains/jet/plugin/SmartSelectionTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/SmartSelectionTestGenerated.java index a9b34705922..41a9775db8a 100644 --- a/idea/tests/org/jetbrains/jet/plugin/SmartSelectionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/SmartSelectionTestGenerated.java @@ -36,6 +36,11 @@ public class SmartSelectionTestGenerated extends AbstractSmartSelectionTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("idea/testData/smartSelection"), Pattern.compile("^([^\\.]+)\\.kt$"), true); } + @TestMetadata("labelledThis.kt") + public void testLabelledThis() throws Exception { + doTestSmartSelection("idea/testData/smartSelection/labelledThis.kt"); + } + @TestMetadata("simple.kt") public void testSimple() throws Exception { doTestSmartSelection("idea/testData/smartSelection/simple.kt");