kawa 1.14 causes java.lang.IllegalAccessException
Ito Kazumitsu
kaz@maczuka.gcd.org
Mon Oct 7 07:36:00 GMT 2013
Could you explain this phenomenon?
$ cat test.scm
(define sb (java.lang.StringBuilder))
(sb:append "abcdefg")
(sb:setLength 3)
(display (sb:toString))(newline)
$ java -cp kawa-1.13.jar kawa.repl test.scm
abc
$ java -cp kawa-1.13.jar kawa.repl --script test.scm
test.scm:2:1: warning - no known slot 'append' in java.lang.Object
test.scm:3:1: warning - no known slot 'setLength' in java.lang.Object
abc
$ java -cp kawa-1.14.jar kawa.repl test.scm
abc
$ java -cp kawa-1.14.jar kawa.repl --script test.scm
test.scm:2:2: warning - no known slot 'append' in java.lang.Object
test.scm:3:2: warning - no known slot 'setLength' in java.lang.Object
java.lang.IllegalAccessException: Class gnu.expr.PrimProcedure can not access a member of class java.lang.AbstractStringBuilder with modifiers "public"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109)
at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261)
at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:253)
at java.lang.reflect.Method.invoke(Method.java:599)
at gnu.expr.PrimProcedure.apply(PrimProcedure.java:302)
at gnu.mapping.CallContext.runUntilDone(CallContext.java:234)
at gnu.expr.ModuleExp.evalModule2(ModuleExp.java:373)
at gnu.expr.ModuleExp.evalModule(ModuleExp.java:210)
at kawa.Shell.run(Shell.java:279)
at kawa.Shell.runFile(Shell.java:482)
at kawa.Shell.runFileOrClass(Shell.java:420)
at kawa.repl.processArgs(repl.java:276)
at kawa.repl.main(repl.java:850)
abcdefg
More information about the Kawa
mailing list