I have had lots of problems with creating, editing, and
closing external files wiht a project open. I have
also crashed DrJava by compiling a single document
within a project after opening a new test case file.
This crash occurred when I mistakenly opened a second
new test case file and then tried to close it
java.lang.IllegalArgumentException: At end
at
edu.rice.cs.drjava.model.definitions.reducedmodel.TokenList$Iterator._moveRight(TokenList.java:288)
at
edu.rice.cs.drjava.model.definitions.reducedmodel.TokenList$Iterator._move(TokenList.java:260)
at
edu.rice.cs.drjava.model.definitions.reducedmodel.TokenList$Iterator.move(TokenList.java:239)
at
edu.rice.cs.drjava.model.definitions.reducedmodel.ReducedModelBrace.move(ReducedModelBrace.java:145)
at
edu.rice.cs.drjava.model.definitions.reducedmodel.ReducedModelControl.move(ReducedModelControl.java:95)
at
edu.rice.cs.drjava.model.AbstractDJDocument.move(AbstractDJDocument.java:527)
at
edu.rice.cs.drjava.model.AbstractDJDocument.setCurrentLocation(AbstractDJDocument.java:506)
at
edu.rice.cs.drjava.model.DefaultGlobalModel$ConcreteOpenDefDoc.setCurrentLocation(DefaultGlobalModel.java:3240)
at
edu.rice.cs.drjava.ui.DefinitionsPane.notifyInactive(DefinitionsPane.java:1025)
at
edu.rice.cs.drjava.ui.MainFrame._switchDefScrollPane(MainFrame.java:5153)
at
edu.rice.cs.drjava.ui.MainFrame$ModelListener$3.run(MainFrame.java:5954)
at
edu.rice.cs.drjava.ui.MainFrame$ModelListener.activeDocumentChanged(MainFrame.java:6014)
at
edu.rice.cs.drjava.model.DefaultSingleDisplayModel$3.notifyListener(DefaultSingleDisplayModel.java:492)
at
edu.rice.cs.drjava.model.GlobalEventNotifier.notifyListeners(GlobalEventNotifier.java:176)
at
edu.rice.cs.drjava.model.DefaultSingleDisplayModel._setActiveDoc(DefaultSingleDisplayModel.java:486)
at
edu.rice.cs.drjava.model.DefaultSingleDisplayModel.access$000(DefaultSingleDisplayModel.java:96)
at
edu.rice.cs.drjava.model.DefaultSingleDisplayModel$1.itemCase(DefaultSingleDisplayModel.java:126)
at
edu.rice.cs.drjava.model.DefaultSingleDisplayModel$1.itemCase(DefaultSingleDisplayModel.java:137)
at
edu.rice.cs.util.docnavigation.LeafNode.execute(LeafNode.java:77)
at
edu.rice.cs.drjava.model.DefaultSingleDisplayModel$2.gainedSelection(DefaultSingleDisplayModel.java:144)
at
edu.rice.cs.util.docnavigation.JTreeSortNavigator.valueChanged(JTreeSortNavigator.java:680)
at javax.swing.JTree.fireValueChanged(JTree.java:2397)
at
javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:2768)
at
javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629)
at
javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1078)
at
javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287)
at
javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:170)
at javax.swing.JTree.setSelectionPath(JTree.java:1172)
at
edu.rice.cs.util.docnavigation.JTreeSortNavigator.setActiveDoc(JTreeSortNavigator.java:523)
at
edu.rice.cs.drjava.model.DefaultSingleDisplayModel.closeFiles(DefaultSingleDisplayModel.java:431)
at
edu.rice.cs.drjava.ui.MainFrame._close(MainFrame.java:2802)
at
edu.rice.cs.drjava.ui.MainFrame.access$1700(MainFrame.java:105)
at
edu.rice.cs.drjava.ui.MainFrame$17.actionPerformed(MainFrame.java:497)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2167)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at
javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
at
java.awt.Component.processMouseEvent(Component.java:5465)
at
javax.swing.JComponent.processMouseEvent(JComponent.java:3089)
at java.awt.Component.processEvent(Component.java:5230)
at java.awt.Container.processEvent(Container.java:1961)
at
java.awt.Component.dispatchEventImpl(Component.java:3933)
at
java.awt.Container.dispatchEventImpl(Container.java:2019)
at java.awt.Component.dispatchEvent(Component.java:3781)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4205)
at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3885)
at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3815)
at
java.awt.Container.dispatchEventImpl(Container.java:2005)
at java.awt.Window.dispatchEventImpl(Window.java:1764)
at java.awt.Component.dispatchEvent(Component.java:3781)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)