- assigned_to: nobody --> caplet
Right now, the decisions about how to bind E to Java
are scattered throughout the code of ELib, usually in
the form of static private literal tables. Instead,
these decisions should be represented in data that can
be edited by the tcb author and/or owner, and then read
into the ELib runtime as a resource to determine the
bindings.
Examples include:
* which classes are importable via the import__uriGetter
* which methods are visible?
* Promotions, simplifications, and coercions
* Which classes define HONORARY PBC, PassByProxy,
Persistent, Selfless, etc... objects?
MarcS already has a prototype of a tool, capAnalyzer,
which enables one to interactively go through the Java
API, make these decisions, and accumulate the results
in a Minimal-XML file. Unfortunately, bugs in my
Minimal-XML quasiParser, which he's using, are
preventing further progress on this.
Once capAnalyzer is working, I'll build a tool for
converting the Minimal-XML output into a binary form
that should (hopefully) be fast to load and use.
Followups 2002-Feb-08 07:49 markm
As of E 0.8.12c, the Java bindings of AWT and Swing are
indeed data driven, by *.safej files containing Term
trees. We still need to apply this to 1) the rest of
Java currently described by the scattered code, and 2)
eventually the rest of the rest of Java. This bug can
be closed after #1 is done.