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"); + } + }