This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

IllegalAccessError in latest cvs version


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)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]