source: branches/generic-class-file/abcl/README.BRANCH @ 12763

Last change on this file since 12763 was 12763, checked in by ehuelsmann, 13 years ago

Add README.BRANCH: Goal filled in; status to be completed.
Actual code still to be committed.

File size: 1.3 KB
Line 
1
2This file describes the goals and current status of the
3branch it pertains to. In this case the generic-class-file branch.
4
5
6Goal(s)
7=======
8
9The goal of the branch is to replace the existing class file writer which
10is restricted to writing 2 methods in a class file with an extremely
11restricted set of signatures.
12
13The new writer will allow any number of methods with no limitation on the
14signatures to be used. This allows a number of things impossible today:
15
16 1. Eliminating the external dependency of 'runtime-class.lisp' on ASM
17 2. Moving initialization of 'final static' fields to the '<clinit>'
18      to make 100% sure they get initialized exactly once
19 3. Using the Java-paradigm of having multiple methods with different
20      numbers of parameters to fill in default values
21
22--------------- example to go with item (3)
23final public LispObject execute() {
24  return execute(<default value>);
25}
26
27final public LispObject execute(LispObject arg1) {
28  return execute(arg1, <default value>);
29}
30
31final public LispObject execute(LispObject arg1, LispObject arg2) {
32  ...  do actual work ...;
33}
34--------------- end of example
35
36
37
38
39Status
40======
41
42The replacement code is located in the java-class-file.lisp file.
43
44The rest of the status is still to be described.
45
Note: See TracBrowser for help on using the repository browser.