Bug 3442 - NPE in SourceElementParser (1GL496I)
Summary: NPE in SourceElementParser (1GL496I)
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: All Windows NT
: P2 normal (vote)
Target Milestone: 2.0 M1   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-10-10 22:55 EDT by Martin Aeschlimann CLA
Modified: 2002-01-11 09:08 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Aeschlimann CLA 2001-10-10 22:55:11 EDT
MA (05.10.2001 11:14:10)
1. Save the following source
package org.eclipse.jdt.ui.examples;


 *      final int[] index = new int[]{0};
 *      add.addListener(SWT.Selection, new Listener() {
 *              


2 org.eclipse.ui 0 Save Failed
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.SourceElementParser.notifySourceElementRequestor(SourceElementParser.java(Compiled Code))
	at org.eclipse.jdt.internal.compiler.SourceElementParser.notifySourceElementRequestor(SourceElementParser.java(Compiled Code))
	at org.eclipse.jdt.internal.compiler.SourceElementParser.endParse(SourceElementParser.java(Compiled Code))
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java(Compiled Code))
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java(Compiled Code))
	at org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit(SourceElementParser.java(Compiled Code))
	at org.eclipse.jdt.internal.core.CompilationUnit.generateInfos(CompilationUnit.java(Compiled Code))
	at org.eclipse.jdt.internal.core.Openable.buildStructure(Openable.java(Compiled Code))
	at org.eclipse.jdt.internal.core.WorkingCopy.reconcile(WorkingCopy.java(Compiled Code))
	at org.eclipse.jdt.internal.core.WorkingCopy.reconcile(WorkingCopy.java(Compiled Code))
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.doSaveDocument(CompilationUnitDocumentProvider.java:268)
	at org.eclipse.ui.texteditor.AbstractDocumentProvider.saveDocument(AbstractDocumentProvider.java:357)
	at org.eclipse.ui.texteditor.AbstractTextEditor$7.execute(AbstractTextEditor.java:1286)
	at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:64)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java(Compiled Code))
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:78)
	at org.eclipse.ui.texteditor.AbstractTextEditor.performSaveOperation(AbstractTextEditor.java:1304)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSaveOperation(CompilationUnitEditor.java:209)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:257)
	at org.eclipse.ui.internal.EditorManager$9.run(EditorManager.java:712)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:296)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:249)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:335)
	at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation(EditorManager.java:570)
	at org.eclipse.ui.internal.EditorManager.saveEditor(EditorManager.java:717)
	at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:1227)
	at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:31)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java(Compiled Code))
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent(ActionContributionItem.java(Compiled Code))
	at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent(ActionContributionItem.java(Compiled Code))
	at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent(ActionContributionItem.java(Compiled Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:658)
	at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:820)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:285)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
	at org.eclipse.core.launcher.Main.run(Main.java:433)
	at org.eclipse.core.launcher.UIMain.main(UIMain.java:52)



NOTES:
EG (10.10.2001 22:06:22)
	moving to JCORE
Comment 1 Olivier Thomann CLA 2001-10-15 13:31:08 EDT
Could you please be a little bit more specific on the source I have to save in 
order to be able to reproduce the problem?

Right now it is rather incomplete.
Comment 2 Martin Aeschlimann CLA 2001-10-18 10:53:08 EDT
The problem IS the incomplete source.
Just save the (incomplete) source, and you will get the walkback.
-----
package org.eclipse.jdt.ui.examples;


 *      final int[] index = new int[]{0};
 *      add.addListener(SWT.Selection, new Listener() {
 *            
------  
Comment 3 Olivier Thomann CLA 2001-10-18 12:13:24 EDT
The SourceElementParser retrieved a AnonymousDeclaration from this incomplete 
source with no allocation attached. The source didn't check that the allocation 
could be null before it tried to retrieve the type of the allocation expression.
Fixed for 206.
Comment 4 DJ Houghton CLA 2001-10-29 17:14:27 EST
PRODUCT VERSION:
	203_02