|
From: SourceForge.net <no...@so...> - 2008-06-06 17:30:50
|
Bugs item #1986669, was opened at 2008-06-06 12:30 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=438935&aid=1986669&group_id=44253 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: DynamicJava Group: 4: Serious Status: Open Resolution: None Priority: 5 Private: No Submitted By: Mathias Ricken (mgricken) Assigned to: Nobody/Anonymous (nobody) Summary: Case-Insensitivity Problem with Class Members Initial Comment: Typing the following in the Interactions Pane: Welcome to DrJava. Working directory is /Users/Shared/drjava > import java.util.* > for(String s: new HashMap<String,String>().keySet()) { } > causes the exception below. The problem is that both a method keySet() and a private nested class KeySet exist, and DynamicJava seems to access the wrong entity, despite the differences in spelling. edu.rice.cs.util.UnexpectedException: java.lang.RuntimeException: java.lang.IllegalAccessException: Class edu.rice.cs.dynamicjava.interpreter.StatementEvaluator can not access a member of class java.util.HashMap$KeySet with modifiers "public" at edu.rice.cs.drjava.model.repl.newjvm.MainJVM$ResultHandler.forUnexpectedException(MainJVM.java:797) at edu.rice.cs.drjava.model.repl.newjvm.MainJVM$ResultHandler.forUnexpectedException(MainJVM.java:751) at edu.rice.cs.drjava.model.repl.newjvm.InterpretResult$UnexpectedExceptionResult.apply(InterpretResult.java:95) at edu.rice.cs.drjava.model.repl.newjvm.MainJVM.interpret(MainJVM.java:190) at edu.rice.cs.drjava.model.repl.RMIInteractionsModel._interpret(RMIInteractionsModel.java:75) at edu.rice.cs.drjava.model.repl.InteractionsModel.interpret(InteractionsModel.java:214) at edu.rice.cs.drjava.model.repl.InteractionsModel.interpretCurrentInteraction(InteractionsModel.java:195) at edu.rice.cs.drjava.ui.InteractionsController$10$1.run(InteractionsController.java:457) Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: Class edu.rice.cs.dynamicjava.interpreter.StatementEvaluator can not access a member of class java.util.HashMap$KeySet with modifiers "public" at edu.rice.cs.dynamicjava.interpreter.StatementEvaluator.visit(StatementEvaluator.java:153) at edu.rice.cs.dynamicjava.interpreter.StatementEvaluator.visit(StatementEvaluator.java:29) at koala.dynamicjava.tree.ForEachStatement.acceptVisitor(ForEachStatement.java:234) at edu.rice.cs.dynamicjava.interpreter.Interpreter.evaluate(Interpreter.java:87) at edu.rice.cs.dynamicjava.interpreter.Interpreter.interpret(Interpreter.java:48) at edu.rice.cs.drjava.model.repl.newjvm.InterpreterJVM.interpret(InterpreterJVM.java:250) at edu.rice.cs.drjava.model.repl.newjvm.InterpreterJVM.interpret(InterpreterJVM.java:227) 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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707) at java.lang.Thread.run(Thread.java:613) Caused by: java.lang.IllegalAccessException: Class edu.rice.cs.dynamicjava.interpreter.StatementEvaluator can not access a member of class java.util.HashMap$KeySet with modifiers "public" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65) at java.lang.reflect.Method.invoke(Method.java:578) at edu.rice.cs.dynamicjava.interpreter.StatementEvaluator.visit(StatementEvaluator.java:150) ... 17 more Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: Class edu.rice.cs.dynamicjava.interpreter.StatementEvaluator can not access a member of class java.util.HashMap$KeySet with modifiers "public" at edu.rice.cs.dynamicjava.interpreter.StatementEvaluator.visit(StatementEvaluator.java:153) at edu.rice.cs.dynamicjava.interpreter.StatementEvaluator.visit(StatementEvaluator.java:29) at koala.dynamicjava.tree.ForEachStatement.acceptVisitor(ForEachStatement.java:234) at edu.rice.cs.dynamicjava.interpreter.Interpreter.evaluate(Interpreter.java:87) at edu.rice.cs.dynamicjava.interpreter.Interpreter.interpret(Interpreter.java:48) at edu.rice.cs.drjava.model.repl.newjvm.InterpreterJVM.interpret(InterpreterJVM.java:250) at edu.rice.cs.drjava.model.repl.newjvm.InterpreterJVM.interpret(InterpreterJVM.java:227) 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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707) at java.lang.Thread.run(Thread.java:613) Caused by: java.lang.IllegalAccessException: Class edu.rice.cs.dynamicjava.interpreter.StatementEvaluator can not access a member of class java.util.HashMap$KeySet with modifiers "public" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65) at java.lang.reflect.Method.invoke(Method.java:578) at edu.rice.cs.dynamicjava.interpreter.StatementEvaluator.visit(StatementEvaluator.java:150) ... 17 more System Properties: DrJava Version 20080601-1100 DrJava Revision 4498 drjava.debug.port = 49650 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_13-121 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_13-b05-241 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 = Europe/Helsinki java.awt.printerjob = apple.awt.CPrinterJob file.encoding = MacRoman java.specification.version = 1.5 java.class.path = /Applications/Dev/drjava-15.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.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 java.version = 1.5.0_13 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_13-241 sun.awt.exception.handler = edu.rice.cs.drjava.ui.DrJavaErrorHandler sun.cpu.isalist = #DrJava configuration file #Sun Jun 01 19:33:10 EEST 2008 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.1.6.link = file://<anonymized user.home>/Sites/docs/Java/jdk-6-doc/api interactions.exit.prompt = false open.folder.recursive = true recent.files = [<anonymized user.dir>/src/edu/rice/cs/util/swing/HighlightedRegion.java,<anonymized user.dir>/src/edu/rice/cs/util/swing/IHighlighted.java,<anonymized user.dir>/src/edu/rice/cs/drjava/config/BinaryOpProperty.java,<anonymized user.dir>/src/edu/rice/cs/drjava/CodeStatus.java,<anonymized user.dir>/src/edu/rice/cs/drjava/Version.java] recent.projects = [<anonymized user.home>/drjava/drjava.xml,<anonymized user.home>/Documents/Semester 8 Spring 2008/COMP 312/hw1/solution/hw1sol.xml,<anonymized user.home>/Documents/Research/OOPBook/TempCalculator/full/full.xml,<anonymized user.home>/Documents/Semester 8 Spring 2008/COMP 212 TA/p3/m2/rwb1/rwb1.xml] window.height = 776 window.width = 1276 window.x = 1 window.y = 22 doc.list.width = 277 last.dir = <anonymized user.dir>/src/edu/rice/cs/drjava/config/DrJavaProperty.java last.interactions.dir = /Users/Shared/drjava master.jvm.xmx = 2048 dialog.clipboard.history.state = 425 400 425 210 dialog.gotofile.state = 393 300 441 260 0 dialog.openjavadoc.state = 393 300 441 260 0 dialog.completeword.state = 516 300 381 260 0 dialog.completeword.scan.class.files = true dialog.completeword.javaapi = true dialog.jaroptions.state = 528 254 find.replace.focus.in.defpane = true external.saved.count = 4 external.saved.names = [ant jar,javac all,javacf all,NextGen Compile All] external.saved.types = [cmdline,cmdline,cmdline,java] external.saved.cmdlines = [ant jar,javac -sourcepath ${project.root} -d ${project.build.dir} ${drjava.all.files;sep=" "},javacf ${tmpfile;content="${drjava.all.files}"} -sourcepath ${project.root} -d ${project.build.dir},-jar <anonymized user.home>/bin/nextgen2.jar -sourcepath ${project.root} -d ${project.build.dir} ${drjava.all.files;sep=" "}] external.saved.jvmargs = [,,,] external.saved.workdirs = [<anonymized user.dir>,${drjava.working.dir},${drjava.working.dir},${drjava.working.dir}] new.version.notification.last = 1212318236221 Used memory: about 28.76 megabytes Free memory: about 21.73 megabytes Total memory: about 50.49 megabytes Total memory can expand to: about 1.98 gigabytes ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=438935&aid=1986669&group_id=44253 |