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 | |
---|
2 | This file describes the goals and current status of the |
---|
3 | branch it pertains to. In this case the generic-class-file branch. |
---|
4 | |
---|
5 | |
---|
6 | Goal(s) |
---|
7 | ======= |
---|
8 | |
---|
9 | The goal of the branch is to replace the existing class file writer which |
---|
10 | is restricted to writing 2 methods in a class file with an extremely |
---|
11 | restricted set of signatures. |
---|
12 | |
---|
13 | The new writer will allow any number of methods with no limitation on the |
---|
14 | signatures 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) |
---|
23 | final public LispObject execute() { |
---|
24 | return execute(<default value>); |
---|
25 | } |
---|
26 | |
---|
27 | final public LispObject execute(LispObject arg1) { |
---|
28 | return execute(arg1, <default value>); |
---|
29 | } |
---|
30 | |
---|
31 | final public LispObject execute(LispObject arg1, LispObject arg2) { |
---|
32 | ... do actual work ...; |
---|
33 | } |
---|
34 | --------------- end of example |
---|
35 | |
---|
36 | |
---|
37 | |
---|
38 | |
---|
39 | Status |
---|
40 | ====== |
---|
41 | |
---|
42 | The replacement code is located in the java-class-file.lisp file. |
---|
43 | |
---|
44 | The rest of the status is still to be described. |
---|
45 | |
---|
Note: See
TracBrowser
for help on using the repository browser.