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