Kawa 1.6.98/1.6.99 compiler bug?
Per Bothner
per@bothner.com
Fri Dec 20 10:36:00 GMT 2002
Tom Shields wrote:
> <unknown>:0: Literals: Internal error:java.lang.Error:
> gnu.expr.PrimProcedure does not implement Externalizable
> java.lang.Error: gnu.expr.PrimProcedure does not implement Externalizable
> at gnu.expr.LitTable.error(LitTable.java:82)
> at gnu.expr.LitTable.writeObject(LitTable.java:217)
> at gnu.expr.LitTable.emit(LitTable.java:45)
> at gnu.expr.Compilation.emitLiterals(Compilation.java:414)
> at gnu.expr.Compilation.addClass(Compilation.java:1348)
> at gnu.expr.Compilation.<init>(Compilation.java:740)
> at gnu.expr.ModuleExp.compileToFiles(ModuleExp.java:277)
> at kawa.lang.CompileFile.compile_to_files(CompileFile.java:91)
> at kawa.repl.processArgs(repl.java:389)
> at kawa.repl.main(repl.java:584)
> ...
> I suppose that the easiest option is to ask if someone can provide me
> with a copy of Kawa 1.6.57 ... but maybe someone can figure out how fix
> the compiler bug as well.
I don't remember exactly how/when this broke. Fixing it hasn't been
a priority, as the primitive-virtual-method syntax is now mostly
deprecated. I now recommend the 'invoke' form (combined with type
specification of variable to allow teh compiler to select the correct
method at compile-time).
However, fixing this problem should easy. Basically, you need to make
sure that gnu.expr.PrimProcedure implements Externalizable, which
means implementing readObject/writeObject methods. That will require
gnu.bytecode.Method and probably also gnu.kawa.lispexprLangPrimType
to also implement Externalizable. This should straight-forward.
--
--Per Bothner
per@bothner.com http://www.bothner.com/per/
More information about the Kawa
mailing list