Community
Participate
Working Groups
Reported on EC: Compiling this code leads to a NPE. See stack trace below. ===== START SOURCE ===== import javax.swing.table.AbstractTableModel; public class MyTableModel extends AbstractTableModel { private String stuff = { {"A","B","C","D","E","F"}, {"A","B","C","D","E","F"}, {"A","B","C","D","E","F"}}; public int getRowCount() { return stuff.length; } public int getColumnCount() { return stuff[0].length; } public Object getValueAt(int r, int c) { return stuff[r][c]; } } ===== END SOURCE ===== The problem has been reproduced using latest 2.0 JDT Core HEAD contents. java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.codegen.CodeStream.newArray(CodeStream.java:45 08) at org.eclipse.jdt.internal.compiler.ast.ArrayInitializer.generateCode(ArrayInitial izer.java:40) at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.generateCode(FieldDeclara tion.java:70) at org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.internalGenerateCod e(ConstructorDeclaration.java:212) at org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.generateCode(Constr uctorDeclaration.java:119) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclarati on.java:589) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclarati on.java:633) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(Co mpilationUnitDeclaration.java:129) at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:440) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:239) at org.eclipse.jdt.internal.core.builder.impl.AbstractImageBuilder.compile(Abstract ImageBuilder.java:90) at org.eclipse.jdt.internal.core.builder.impl.IncrementalImageBuilder.applySourceDe lta(IncrementalImageBuilder.java:263) at org.eclipse.jdt.internal.core.builder.impl.JavaBuilder.incrementalBuild(JavaBuil der.java:208) at org.eclipse.jdt.internal.core.builder.impl.JavaBuilder.build(JavaBuilder.java:54 ) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:332) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:812 ) at org.eclipse.core.runtime.Platform.run(Platform.java:395) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:88) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:153) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:163) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:112) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:812 ) at org.eclipse.core.runtime.Platform.run(Platform.java:395) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:126) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:188) at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:693) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1193) at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.jav a:78) at org.eclipse.ui.texteditor.AbstractTextEditor.performSaveOperation(AbstractTextEd itor.java:1305) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSaveOperatio n(CompilationUnitEditor.java:355) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationU nitEditor.java:403) at org.eclipse.ui.internal.EditorManager$9.run(EditorManager.java:776) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:29 6) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:249) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:3 35) at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation(EditorManager. java:634) at org.eclipse.ui.internal.EditorManager.saveEditor(EditorManager.java:781) at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:1183) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:31) at org.eclipse.jface.action.Action.runWithEvent(Action.java:451) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionCont ributionItem.java:407) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent(ActionContribu tionItem.java:361) at org.eclipse.jface.action.ActionContributionItem.access$0(ActionContributionItem. java:352) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent(Actio nContributionItem.java:47) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:638) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java(Compiled Code)) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1167) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:675) at org.eclipse.ui.internal.Workbench.run(Workbench.java:658) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:82 0) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:285) at SlimLauncher.main(SlimLauncher.java:14)
Fix integrated in latest. Could you please add a regression test for this one, it seems quite simple to reproduce.