This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
Kawa: new include macros & jsr-45 support
- From: Per Bothner <per at bothner dot com>
- To: kawa at sources dot redhat dot com
- Date: Sat, 25 Dec 2004 11:00:13 -0800
- Subject: Kawa: new include macros & jsr-45 support
Some related improvments, only in CVS so far:
I implemented new macros:
(include "filename")
(include-relative "filename")
These perform file inclusion at compile-time, unlike load which works
at run-time. If the path to include-relative is not an absolute path,
then it is resolved relative to the source file containing the
include-relative form, rather than the current directory.
I've also implemented more of the syntax-case functionality:
syntax-object->datum, datum->syntax-object, with-syntax.
Kawa-generated .class files now contain the SourceDebugExtension
specified by JSR-45. This provides a standard way to record
multiple source files, with full file paths. You can see the
effect by running the testsuite, and then:
java gnu.bytecode.dump testsuite/module1.class
The idea is that line numbers in files that are not in the
main file get mapped to line numbers above 10000.
I'd be interested in whether the new SourceDebugExtension
attribute improves or hinders tools that analyze bytecodes,
such as debuggers and profilers.
--
--Per Bothner
per@bothner.com http://per.bothner.com/