Menu

#751 Saving File with class, but no Identifier throws Exception

3: Ugly
closed-fixed
5
2014-08-18
2009-04-06
No

1. Save a file, for example as JustClass.java.
2. Delete everything in the file.
3. Enter just "class " (class, followed by a space).
4. Hit Save.

DrJava will throw the following exception:

java.lang.IllegalStateException: No identifier found
at edu.rice.cs.drjava.model.definitions.DefinitionsDocument.getNextIdentifier(DefinitionsDocument.java:1099)
at edu.rice.cs.drjava.model.definitions.DefinitionsDocument.getFirstClassName(DefinitionsDocument.java:984)
at edu.rice.cs.drjava.model.definitions.DefinitionsDocument.getMainClassName(DefinitionsDocument.java:1011)
at edu.rice.cs.drjava.model.definitions.DefinitionsDocument.getQualifiedClassName(DefinitionsDocument.java:252)
at edu.rice.cs.drjava.model.AbstractGlobalModel$ConcreteOpenDefDoc._locateClassFile(AbstractGlobalModel.java:3190)
at edu.rice.cs.drjava.model.AbstractGlobalModel$ConcreteOpenDefDoc.checkIfClassFileInSync(AbstractGlobalModel.java:3146)
at edu.rice.cs.drjava.model.AbstractGlobalModel$ConcreteOpenDefDoc.saveFileAs(AbstractGlobalModel.java:3031)
at edu.rice.cs.drjava.model.AbstractGlobalModel$ConcreteOpenDefDoc.saveFile(AbstractGlobalModel.java:2936)
at edu.rice.cs.drjava.ui.MainFrame._save(MainFrame.java:4860)
at edu.rice.cs.drjava.ui.MainFrame.access$2900(MainFrame.java:116)
at edu.rice.cs.drjava.ui.MainFrame$32.actionPerformed(MainFrame.java:636)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1576)
at edu.rice.cs.drjava.ui.DefinitionsPane.processKeyEvent(DefinitionsPane.java:586)
at java.awt.Component.processEvent(Component.java:5360)
at java.awt.Container.processEvent(Container.java:2010)
at java.awt.Component.dispatchEventImpl(Component.java:4050)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Component.dispatchEvent(Component.java:3885)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:681)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:938)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:810)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:645)
at java.awt.Component.dispatchEventImpl(Component.java:3923)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3885)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

System Properties:
DrJava Version drjava-20090406-r4871
DrJava Build Time 20090406-1839

drjava.debug.port = 62259
java.runtime.name = Java(TM) 2 Runtime Environment, Standard Edition
sun.boot.library.path = :/Applications/Dev/YourKit Java Profiler 7.0.12.app/bin/mac:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries
java.vm.version = 1.5.0_16-132
awt.nativeDoubleBuffering = true
gopherProxySet = false
java.vm.vendor = "Apple Computer, Inc."
java.vendor.url = http://apple.com/
path.separator = :
java.vm.name = Java HotSpot(TM) Client VM
file.encoding.pkg = sun.io
sun.java.launcher = SUN_STANDARD
user.country = US
sun.os.patch.level = unknown
java.vm.specification.name = Java Virtual Machine Specification
user.dir = <anonymized user.dir>
java.runtime.version = 1.5.0_16-b06-275
java.awt.graphicsenv = apple.awt.CGraphicsEnvironment
java.endorsed.dirs = /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed
os.arch = i386
java.io.tmpdir = /tmp
line.separator = "\u000a"
java.vm.specification.vendor = Sun Microsystems Inc.
os.name = Mac OS X
apple.laf.useScreenMenuBar = true
sun.jnu.encoding = MacRoman
java.library.path = :/Applications/Dev/YourKit Java Profiler 7.0.12.app/bin/mac:.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
java.specification.name = Java Platform API Specification
java.class.version = 49.0
sun.management.compiler = HotSpot Client Compiler
os.version = 10.4.11
user.home = <anonymized user.home>
user.timezone = America/Chicago
java.awt.printerjob = apple.awt.CPrinterJob
file.encoding = MacRoman
java.specification.version = 1.5
java.class.path = drjava.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar
user.name = <anonymized user.name>
apple.awt.graphics.UseQuartz = true
java.vm.specification.version = 1.0
java.home = /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
sun.arch.data.model = 32
user.language = en
java.specification.vendor = Sun Microsystems Inc.
awt.toolkit = apple.awt.CToolkit
java.vm.info = mixed mode, sharing
java.version = 1.5.0_16
java.ext.dirs = /Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext
sun.boot.class.path = /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar
java.vendor = Apple Computer, Inc.
file.separator = /
java.vendor.url.bug = http://developer.apple.com/java/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
java.rmi.server.hostname = 127.0.0.1
mrj.version = 1040.1.5.0_16-275
sun.awt.exception.handler = apple.awt.CToolkit$EventQueueExceptionHandler
sun.cpu.isalist =

#DrJava configuration file
#Mon Apr 06 14:40:47 CDT 2009
font.line.numbers = Monaco-10
lineenum.enabled = true
key.delete.next = shift DELETE
key.delete.previous = shift BACK_SPACE
find.replace.match.case = false
debug.sourcepath = <anonymized user.home>/Applications:<anonymized user.home>/backup
debug.step.exclude = a,b,c
javadoc.1.4.link = file://<anonymized user.home>/Sites/docs/Java/j2sdk-1_4_2-doc/api/
javadoc.1.5.link = file://<anonymized user.home>/Sites/docs/Java/jdk-1_5_0-doc/api
javadoc.additional.links = [http://drjava.org/javadoc/plt]
interactions.exit.prompt = false
open.folder.recursive = true
recent.files = [<anonymized user.home>/Desktop/Wawrose/src/BiIteratorI.java,<anonymized user.home>/Desktop/Wawrose/src/BiList.java,<anonymized user.home>/Desktop/Wawrose/src/BiListI.java,<anonymized user.home>/Desktop/Wawrose/src/BiListTest.java,<anonymized user.home>/Desktop/Wawrose/src/Change.java]
recent.projects = [<anonymized user.home>/Desktop/Wawrose/Wawrose.xml,<anonymized user.home>/drjava/drjava.xml,<anonymized user.home>/Documents/Research/Concutest/ClassLoader/ClassLoader.xml,<anonymized user.home>/Documents/Research/Mint/java-mint/java-mint.xml,<anonymized user.dir>.all/jll.xml]
window.height = 776
window.width = 1276
window.x = 0
window.y = 22
window.state = 6
doc.list.width = 172
last.dir = <anonymized user.home>/Desktop/Wawrose/src/Search.java
last.interactions.dir = <anonymized user.home>/Desktop/Wawrose
dialog.clipboard.history.state = 425 400 425 210
dialog.gotofile.state = 393 300 441 260 0
dialog.completeword.javaapi = true
tabbedpanes.state = 640 400 700 400
dialog.jaroptions.state = 417 273
find.replace.focus.in.defpane = true
new.version.notification = all versions
new.version.notification.last = 1239045033789
drjava.survey.notification.last = 1239046320415
drjava.survey.result.last = http://www.drjava.org/submit-usage.php?rev=4871&os.name=Mac%20OS%20X&os.version=10.4.11&java.version=1.5.0_16&java.vendor=Apple%20Computer,%20Inc.

Used memory: about 9.02 megabytes
Free memory: about 11.03 megabytes
Total memory: about 20.07 megabytes
Total memory can expand to: about 63.56 megabytes

Discussion

  • Mathias Ricken

    Mathias Ricken - 2009-04-06

    Fixed as of revision 4872.

     
  • Mathias Ricken

    Mathias Ricken - 2009-04-06
    • assigned_to: nobody --> mgricken
    • status: open --> closed-fixed
     

Log in to post a comment.

MongoDB Logo MongoDB