Community
Participate
Working Groups
3.1-RC2 test pass - have the code below - enable Java>Editor>Code Assist>Fill argument names - invoke code assist at the caret (|) import java.util.ArrayList; class Bug { void m(Class<?> clazz) { clazz.asSubclass(ArrayL|); } } - get this: !ENTRY org.eclipse.ui 4 4 2005-06-14 12:42:45.451 !MESSAGE "Content Assist" did not complete normally. Please see the log for more information. "Content Assist" did not complete normally. Please see the log for more information. Reason: !ENTRY org.eclipse.ui 4 0 2005-06-14 12:42:45.452 !MESSAGE java.lang.NullPointerException !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.initialize(ParameterizedTypeBinding.java:545) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.<init>(ParameterizedTypeBinding.java:38) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType(LookupEnvironment.java:554) at org.eclipse.jdt.internal.core.util.BindingKeyResolver.consumeParameterizedType(BindingKeyResolver.java:279) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parseParameterizedType(BindingKeyParser.java:759) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:571) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:540) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parseTypeWithCapture(BindingKeyParser.java:797) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:606) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:540) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parseTypeArgument(BindingKeyParser.java:790) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parseParameterizedType(BindingKeyParser.java:754) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:571) at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:540) at org.eclipse.jdt.internal.core.util.BindingKeyResolver.getCompilerBinding(BindingKeyResolver.java:439) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:729) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:455) at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:664) at org.eclipse.jdt.internal.ui.text.java.GenericJavaTypeProposal.getExpectedType(GenericJavaTypeProposal.java:609) at org.eclipse.jdt.internal.ui.text.java.GenericJavaTypeProposal.computeTypeArgumentProposals(GenericJavaTypeProposal.java:314) at org.eclipse.jdt.internal.ui.text.java.GenericJavaTypeProposal.apply(GenericJavaTypeProposal.java:225) at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.apply(LazyJavaCompletionProposal.java:320) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertProposal(CompletionProposalPopup.java:452) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.completeCommonPrefix(CompletionProposalPopup.java:1102) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.incrementalComplete(CompletionProposalPopup.java:1046) at org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.java:1351) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor.java:188) at org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80) at org.eclipse.jface.action.Action.runWithEvent(Action.java:996) at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:182) at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:108) at org.eclipse.core.commands.Command.execute(Command.java:311) at org.eclipse.core.commands.ParameterizedCommand.execute(ParameterizedCommand.java:396) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:459) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:781) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:828) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:550) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:493) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:117) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1211) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1020) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1045) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1030) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1057) at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:621) at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:1961) at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:560) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1359) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3386) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:4759) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1026) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1149) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2528) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1716) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1680) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:365) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948)
Created attachment 23134 [details] Fix in BindingKeyResolver Problem was that the outerMostResolver's parsed unit was not necessarily non-null. Changed BindingKeyResolver to use the outerMostParsedUnit instead.
+1 for RC3 Dani - pls cast your vote
looks good. +1 for 3.1 RC3.
Thanks Dani. Fix released. Need to write a regression test for this one.
Verified using N20050616-0010 + JDT/Core HEAD