Bug 71373 - Compiler NullPointerException when checking assignment in conditions
Summary: Compiler NullPointerException when checking assignment in conditions
Status: RESOLVED DUPLICATE of bug 70398
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-04 09:43 EDT by duvillier CLA
Modified: 2004-08-04 13:33 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description duvillier CLA 2004-08-04 09:43:30 EDT
I got an "Exception Occurred during problem detection" in the "Error log" view 
when I tried to save a file containing the following (buggy) code :

public class Truc {
    void met() {
        String a = "ok";
        if (a = null && a.length() > 0);
    }
}

Note : the bug is that I forgot the exclamation mark in "a != null" condition.

== TRACE ==

java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.ast.Assignment.checkAssignment
(Assignment.java:67)
	at 
org.eclipse.jdt.internal.compiler.ast.Assignment.resolveTypeExpecting
(Assignment.java:191)
	at org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve
(IfStatement.java:221)
	at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatemen
ts(AbstractMethodDeclaration.java:395)
	at 
org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements
(MethodDeclaration.java:134)
	at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve
(AbstractMethodDeclaration.java:373)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:920)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:969)
	at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve
(CompilationUnitDeclaration.java:280)
	at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:564)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:176)
	at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure
(CompilationUnit.java:146)
	at org.eclipse.jdt.internal.core.Openable.generateInfos
(Openable.java:183)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed
(JavaElement.java:572)
	at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent
(CompilationUnit.java:976)
	at 
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation
(ReconcileWorkingCopyOperation.java:58)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:700)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation
(JavaModelOperation.java:739)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1097)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1060)
	at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWo
rkingCopy(CompilationUnitDocumentProvider.java:886)
	at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$2.execut
e(CompilationUnitDocumentProvider.java:951)
	at 
org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.
run(TextFileDocumentProvider.java:126)
	at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute
(WorkspaceModifyDelegatingOperation.java:67)
	at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run
(WorkspaceModifyOperation.java:91)
	at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1673)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run
(WorkspaceModifyOperation.java:105)
	at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run
(WorkspaceOperationRunner.java:73)
	at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run
(WorkspaceOperationRunner.java:63)
	at 
org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation
(TextFileDocumentProvider.java:440)
	at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument
(TextFileDocumentProvider.java:699)
	at org.eclipse.ui.texteditor.AbstractTextEditor.performSave
(AbstractTextEditor.java:3535)
	at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave
(CompilationUnitEditor.java:1357)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave
(CompilationUnitEditor.java:1410)
	at org.eclipse.ui.internal.EditorManager$12.run
(EditorManager.java:1160)
	at org.eclipse.ui.internal.EditorManager$10.run
(EditorManager.java:1015)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread
(ModalContext.java:303)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:253)
	at org.eclipse.jface.window.ApplicationWindow$1.run
(ApplicationWindow.java:588)
	at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:69)
	at org.eclipse.jface.window.ApplicationWindow.run
(ApplicationWindow.java:585)
	at org.eclipse.ui.internal.WorkbenchWindow.run
(WorkbenchWindow.java:1653)
	at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation
(EditorManager.java:1021)
	at org.eclipse.ui.internal.EditorManager.savePart
(EditorManager.java:1165)
	at org.eclipse.ui.internal.WorkbenchPage.savePart
(WorkbenchPage.java:2539)
	at org.eclipse.ui.internal.WorkbenchPage.saveEditor
(WorkbenchPage.java:2551)
	at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:69)
	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:471)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press
(WorkbenchKeyboard.java:889)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent
(WorkbenchKeyboard.java:930)
	at 
org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings
(WorkbenchKeyboard.java:548)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2
(WorkbenchKeyboard.java:496)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent
(WorkbenchKeyboard.java:261)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:740)
	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:1734)
	at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1730)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3067)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:2970)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1467)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2429)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:254)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
	at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:96)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:335)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:273)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:129)
	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:183)
	at org.eclipse.core.launcher.Main.run(Main.java:644)
	at org.eclipse.core.launcher.Main.main(Main.java:628)
Comment 1 duvillier CLA 2004-08-04 10:18:27 EDT
Note that this problem doen't occur on a clean Eclipse 3.0 install.
My configuration is Eclipse Version: 3.0.0, Build id: 200406251208
+ Cheetah Version 0.6

Note that I also have many source and refactring issues...
Comment 2 Olivier Thomann CLA 2004-08-04 13:33:18 EDT

*** This bug has been marked as a duplicate of 70398 ***