From ba6d1803927318ef5a7825366bbf1f86bbc884b7 Mon Sep 17 00:00:00 2001 From: Mikhail Pyltsin Date: Tue, 1 Oct 2024 12:19:17 +0200 Subject: [PATCH] [java-action] IDEA-359468 Implement methods which return Long must return 0L GitOrigin-RevId: 90705e2124800738a0de22eddfdc1a30126b3d47 --- .../com/intellij/psi/util/PsiTypesUtil.java | 3 +- .../codeInsight/OverrideImplementTest.java | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/java/java-psi-api/src/com/intellij/psi/util/PsiTypesUtil.java b/java/java-psi-api/src/com/intellij/psi/util/PsiTypesUtil.java index cc89a87ede38..a5e6dbdd6997 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/PsiTypesUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/PsiTypesUtil.java @@ -136,8 +136,9 @@ public final class PsiTypesUtil { return typeText + ".empty()"; case CommonClassNames.JAVA_LANG_STRING: return "\"\""; - case CommonClassNames.JAVA_LANG_INTEGER: case CommonClassNames.JAVA_LANG_LONG: + return "0L"; + case CommonClassNames.JAVA_LANG_INTEGER: case CommonClassNames.JAVA_LANG_SHORT: case CommonClassNames.JAVA_LANG_BYTE: return "0"; diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/OverrideImplementTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/OverrideImplementTest.java index 002153597eeb..638491b82fcc 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/OverrideImplementTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/OverrideImplementTest.java @@ -260,6 +260,38 @@ public class OverrideImplementTest extends LightJavaCodeInsightFixtureTestCase { """); } + public void testOverrideLong() { + myFixture.addClass( + """ + package bar; + interface A { + Long foo(); + } + """); + VirtualFile file = myFixture.addClass( + """ + package bar; + class Test implements A { + + } + """ + ).getContainingFile().getVirtualFile(); + myFixture.configureFromExistingVirtualFile(file); + + invokeAction(true); + + myFixture.checkResult( + """ + package bar; + class Test implements A { + @Override + public Long foo() { + return 0L; + } + } + """); + } + public void testTypeAnnotationsInImplementedMethod() { OverrideImplementsAnnotationsHandler handler = new OverrideImplementsAnnotationsHandler() { @Override