From 9f2c71850b5163efe0537bd44a62aeef8d36ed14 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 26 Aug 2010 17:07:18 +0100 Subject: [PATCH] don't throw exceptions when completing in the RHS of >>, complete instead --- .../com/intellij/codeInsight/ExpectedTypesProvider.java | 4 +--- .../codeInsight/completion/normal/RightShift.java | 8 ++++++++ .../codeInsight/completion/NormalCompletionTest.java | 5 +++++ 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/completion/normal/RightShift.java diff --git a/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java b/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java index 50ab6cf4d823..fa4f769e6142 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java @@ -645,9 +645,7 @@ public class ExpectedTypesProvider { myResult = ExpectedTypeInfo.EMPTY_ARRAY; } else { - ExpectedTypeInfoImpl info = createInfoImpl(PsiType.LONG, ExpectedTypeInfo.TYPE_BETWEEN, - myExpr.getType(), TailType.NONE); - myResult = new ExpectedTypeInfo[]{info}; + myResult = new ExpectedTypeInfo[]{createInfoImpl(PsiType.LONG, ExpectedTypeInfo.TYPE_BETWEEN, PsiType.INT, TailType.NONE)}; } } else if (i == JavaTokenType.OROR || i == JavaTokenType.ANDAND) { diff --git a/java/java-tests/testData/codeInsight/completion/normal/RightShift.java b/java/java-tests/testData/codeInsight/completion/normal/RightShift.java new file mode 100644 index 000000000000..40d03f2b9c7b --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/RightShift.java @@ -0,0 +1,8 @@ +public class SomeClass { + Object myField1; + Object myField2; + + void foo(int param) { + int a = param >> my + } +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.java index ca2bcc875713..8f0fbf5e1482 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.java @@ -645,5 +645,10 @@ public class NormalCompletionTest extends LightCompletionTestCase { public void testPrimitiveMethodParameter() throws Throwable { doTest(); } + public void testRightShift() throws Throwable { + configureByFile("/codeInsight/completion/normal/" + getTestName(false) + ".java"); + assertStringItems("myField1", "myField2"); + } + }