Community
Participate
Working Groups
3.1 RC2 Steps to reproduce: - Invoke content assist on following snippet: public class C { Object fObject= null; public void foo() { Object clazz= new Object() { Object object= this.getClass().<Ctrl+Space> } } } The following exception occurs: java.lang.IllegalArgumentException at org.eclipse.jdt.internal.core.util.Util.scanTypeBoundSignature (Util.java:2574) at org.eclipse.jdt.internal.core.util.Util.scanTypeSignature (Util.java:2353) at org.eclipse.jdt.core.Signature.getReturnType(Signature.java:1635) at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.createMethodPropos alLabel(CompletionProposalLabelProvider.java:182) at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.createLabel (CompletionProposalLabelProvider.java:351) at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.computeDisplay String(LazyJavaCompletionProposal.java:365) at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.getDisplayStri ng(LazyJavaCompletionProposal.java:359) at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.computeSortStr ing(LazyJavaCompletionProposal.java:714) at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.getSortString (LazyJavaCompletionProposal.java:704) at org.eclipse.jdt.ui.text.java.CompletionProposalComparator.getSortKey (CompletionProposalComparator.java:73) at org.eclipse.jdt.ui.text.java.CompletionProposalComparator.compare (CompletionProposalComparator.java:68) at java.util.Arrays.mergeSort(Arrays.java:1284) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.sort(Arrays.java:1223) at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.order (JavaCompletionProcessor.java:305) at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.internalComputeCo mpletionProposals(JavaCompletionProcessor.java:390) at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.computeCompletion Proposals(JavaCompletionProcessor.java:313) at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposal s(ContentAssistant.java:1503) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals (CompletionProposalPopup.java:256) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$7 (CompletionProposalPopup.java:253) at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1.run (CompletionProposalPopup.java:216) at org.eclipse.swt.custom.BusyIndicator.showWhile (BusyIndicator.java:69) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals (CompletionProposalPopup.java:211) at org.eclipse.jface.text.contentassist.ContentAssistant$2.run (ContentAssistant.java:327) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:118) ... 18 more
Could not reproduce.
I am still able to reproduce it. I have only one project with one class in my workspace. The project uses 5.0 compliance and a 1.5 JRE.
Created attachment 23069 [details] Proposed fix In the case of code assist, the constant pool name of local and anoymous types is always null (since code generation has not started). As a consequence the signature is invalid (L;) and cannot be decded. Changing it to use the source name for local types, and the super class source name for anonymous.
Created attachment 23070 [details] Regression test
+1 for RC3 Dani - pls cast your vote
+1 for 3.1 RC3.
Thanks Dani. Released fix and regression test.
Verified using N20050616-0010 + JDT/Core HEAD