Bug 63554 NPE in QuickAssistProcessor [quick fix]
I'm using M9 (Build id: 200405211200), occured sometimes in Java editor. Error Mai 22, 2004 21:01:24.910 Internal Error java.lang.NullPointerException at org.eclipse.jdt.internal.ui.text.correction.QuickAssistProcessor. getCoveringNode(QuickAssistProcessor.java:307) at org.eclipse.jdt.internal.ui.text.correction.QuickAssistProcessor. getAssists(QuickAssistProcessor.java:120) at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor. collectAssists(JavaCorrectionProcessor.java:281) at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor. processAnnotations(JavaCorrectionProcessor.java:231) at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor. computeCompletionProposals(JavaCorrectionProcessor.java:198) at org.eclipse.jface.text.contentassist.ContentAssistant. computeCompletionProposals(ContentAssistant.java:1457) at org.eclipse.jface.text.contentassist.CompletionProposalPopup. computeProposals(CompletionProposalPopup.java:244) at org.eclipse.jface.text.contentassist.CompletionProposalPopup. access$7(CompletionProposalPopup.java:240) at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1. run(CompletionProposalPopup.java:199) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.text.contentassist.CompletionProposalPopup. showProposals(CompletionProposalPopup.java:194) at org.eclipse.jface.text.contentassist.ContentAssistant. showPossibleCompletions(ContentAssistant.java:1308) at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionAssistant. showPossibleCompletions(JavaCorrectionAssistant.java:158) at org.eclipse.jdt.internal.ui.javaeditor. CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor. java:183) at org.eclipse.ui.texteditor.TextOperationAction$1.run(TextOperationAction.java: 122) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.texteditor.TextOperationAction.run(TextOperationAction.java: 120) at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:141) at org.eclipse.ui.internal.commands.Command.execute(Command.java:132) at org.eclipse.ui.internal.keys.WorkbenchKeyboard. executeCommand(WorkbenchKeyboard.java:469) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java: 887) at org.eclipse.ui.internal.keys.WorkbenchKeyboard. processKeyEvent(WorkbenchKeyboard.java:928) at org.eclipse.ui.internal.keys.WorkbenchKeyboard. filterKeySequenceBindings(WorkbenchKeyboard.java:546) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2(WorkbenchKeyboard. java:494) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1. handleEvent(WorkbenchKeyboard.java:259) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:712) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:795) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:805) at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1724) at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1720) at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:3499) at org.eclipse.swt.widgets.Control.windowProc(Control.java:2978) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3282) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1475) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2380) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1363) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:253) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:97) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator. java:307) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:256) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:127) 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:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:638) at org.eclipse.core.launcher.Main.main(Main.java:622)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/AssistContext.java
private ICompilationUnit fCompilationUnit;
	private int fOffset;
	private int fLength;
		
	private CompilationUnit fASTRoot;
	
	/*
	 * Constructor for CorrectionContext.
	 */
	public AssistContext(ICompilationUnit cu, int offset, int length) {
		fCompilationUnit= cu;