This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
IllegalAccessError in latest cvs version
- To: per at bothner dot com
- Subject: IllegalAccessError in latest cvs version
- From: Thomas Kirk <tk at research dot att dot com>
- From: thomas kirk <tk at research dot att dot com>
- Date: Tue, 24 Oct 2000 17:21:06 -0400 (EDT)
- Cc: kawa at sourceware dot cygnus dot com
- Reply-To: tk at research dot att dot com
the latest cvs version of Kawa produces an error in the MS JVM under some
circumstances when binding a lambda expression. The first two forms
produce an IllegalAccessError; the third, in which a variable from an
enclosing let is referenced within the lambda, works fine.
This error does _not_ occur with the Sun JVM, so it's not clear that this
isn't a microsoft bug, but it wasn't a problem with 1.6.70.
;;; error
(define foo (lambda () ()))
;;; error
(define foo1 (let ((n 0)) (lambda () ())))
;;; ok
(define foo2 (let ((n 0)) (lambda () n ())))
java.lang.IllegalAccessError: atInteractiveLevel: field lambda$Fn1 is final
at atInteractiveLevel.<init>
at java/lang/Class.newInstance (Class.java)
at gnu/expr/LambdaExp.eval (LambdaExp.java:1384)
at gnu/expr/ModuleExp.evalModule (ModuleExp.java:39)
at kawa/Shell.run (Shell.java:85)
at kawa/standard/load.loadSource (load.java:115)
at kawa/standard/load.loadSource (load.java:103)
at kawa/standard/load.apply (load.java:174)
at kawa/standard/load.apply2 (load.java:150)
at kawa/standard/load.apply1 (load.java:140)
at gnu/mapping/Procedure1.applyN (Procedure1.java:49)
at gnu/expr/ApplyExp.eval (ApplyExp.java:38)
at gnu/expr/ModuleExp.evalModule (ModuleExp.java:38)
at kawa/Shell.run (Shell.java:85)
at kawa/Shell.run (Shell.java:22)
at Kawa$SocketRepl.apply0 (Kawa.java:36)
at gnu/mapping/Future.run (Future.java:59)