diff --git a/org.eclipse.jdt.ls.target/org.eclipse.jdt.ls.tp.target b/org.eclipse.jdt.ls.target/org.eclipse.jdt.ls.tp.target index c3bdc3cc3a..a0e847b865 100644 --- a/org.eclipse.jdt.ls.target/org.eclipse.jdt.ls.tp.target +++ b/org.eclipse.jdt.ls.target/org.eclipse.jdt.ls.tp.target @@ -29,7 +29,7 @@ - + diff --git a/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CompletionHandlerTest.java b/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CompletionHandlerTest.java index 66f6ee67c8..70c814ecf6 100644 --- a/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CompletionHandlerTest.java +++ b/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CompletionHandlerTest.java @@ -3546,7 +3546,7 @@ void f() { } @Test - public void testCompletion_forArrayTypeReceivers() throws Exception { + public void testCompletion_forNonPrimitiveArrayTypeReceivers() throws Exception { ICompilationUnit unit = getWorkingCopy("src/java/Arr.java", """ public class Arr { void foo() { @@ -3561,6 +3561,38 @@ void foo() { assertEquals("Array type completion Label", "String[] - java.lang", completionItem.getLabel()); } + @Test + public void testCompletion_forPrimitiveArrayTypeReceivers() throws Exception { + ICompilationUnit unit = getWorkingCopy("src/java/Arr.java", """ + public class Arr { + void foo() { + int[] ages = new i + } + } + """); + + CompletionList list = requestCompletions(unit, "new "); + CompletionItem completionItem = list.getItems().get(0); + assertEquals("Array type completion EditText", "int[]", completionItem.getInsertText()); + assertEquals("Array type completion Label", "int[]", completionItem.getLabel()); + } + + @Test + public void testCompletion_forEnclosingTypeArrayTypeReceivers() throws Exception { + ICompilationUnit unit = getWorkingCopy("src/java/Arr.java", """ + public class Arr { + void foo() { + Arr[] ages = new A + } + } + """); + + CompletionList list = requestCompletions(unit, "new "); + CompletionItem completionItem = list.getItems().get(0); + assertEquals("Array type completion EditText", "Arr[]", completionItem.getInsertText()); + assertEquals("Array type completion Label", "Arr[] - java", completionItem.getLabel()); + } + private CompletionList requestCompletions(ICompilationUnit unit, String completeBehind) throws JavaModelException { return requestCompletions(unit, completeBehind, 0); }