Community
Participate
Working Groups
I have a file named AbstractDataModel in the package org.jdesktop.jdnc.incubator.rbair.swing.data. I cannot save the file when it contains the proper package statement. However, if it has a different package statement, such as org.jdesktop.jdnc.incubator.rbair.data, or event org.jdesktop.jdnc.incubator.rbair.swing.dat, it works fine. It seems like the length of the package statement is choking eclipse. The actual source file can be viewed out of cvs at https://jdnc-incubator.dev.java.net/source/browse/jdnc-incubator/src/java/org/jdesktop/jdnc/incubator/rbair/swing/data/AbstractDataModel.java I'm using build eclipse-SDK-N20040831-linux-gtk.zip. Here's the exception stacktrace from $ECLIPSE_HOME/workspace/.metadata/.log java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15.hasBoundedParameters(MethodVerifier15.java:127) at org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15.checkAgainstInheritedMethods(MethodVerifier15.java:52) at org.eclipse.jdt.internal.compiler.lookup.MethodVerifier.checkMethods(MethodVerifier.java:245) at org.eclipse.jdt.internal.compiler.lookup.MethodVerifier.verify(MethodVerifier.java:533) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.verifyMethods(SourceTypeBinding.java:1132) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.verifyMethods(CompilationUnitScope.java:625) at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:561) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:175) at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:148) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:202) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:546) at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:979) 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:1100) at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1063) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:886) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$2.execute(CompilationUnitDocumentProvider.java:951) at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:126) at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:68) at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:98) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1674) at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:110) 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:3539) 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:1325) at org.eclipse.ui.internal.EditorManager$10.run(EditorManager.java:1164) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:322) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:269) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:624) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:621) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1842) at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation(EditorManager.java:1170) at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1330) at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:2626) at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:2639) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:67) at org.eclipse.jface.action.Action.runWithEvent(Action.java:988) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:946) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:896) at org.eclipse.jface.action.ActionContributionItem$8.handleEvent(ActionContributionItem.java:851) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:973) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2643) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2346) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1435) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1406) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:263) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102) 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:585) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:684) at org.eclipse.core.launcher.Main.main(Main.java:668)
When you change the package statement, do you not get an error saying the type is defined in the wrong package?
When I give it the incorrect package name it tells me so, as it should. However, it saves without a hitch (also, as it should). But when I give it the proper package name, the error goes away but I get the NPE on save
I should also mention that this is a project backed by cvs (using Eclipse for the cvs client)
We don't process the file after we detect the invalid package statement... that's why it saves in that case. This problem is fixed. Needed a null check on the ParameterizedType's arguments.
Verified for 3.1 M2 with build I200409230800.