17:51
I have been working on SquirrelJME throughout the day, so that is not bad.
Right now my current hurdle is invokespecial
, which is a bit complex.
18:18
Using deduction to determine how to handle invokespecial
. Okay so since
Java 1.1 (released 02/1997) the compiler always set SUPER
, so the method
that is directly specified is never called it instead uses the alternative
lookup. So let me see when J2ME came out.
18:21
JSR030 is 05/2000, drafted in 08/1999. This means the latest Java release at the time was Java 1.2 which was released 12/1998. Also the J2 in J2ME stands for Java 2, which is Java 1.2. So I think at this point, if the super flag is not set then it sucks to be you.
18:29
Looking through the ancient specification, main
is handled and used so
that is something. At least now I have actual backing for it.
18:33
Confirmed that CLDC 1.0 uses a Java 1.2 VM.
18:41
Okay so from this point, I am going to declare that SUPER
is always set no
matter what.
21:40
I am definitely going to need a refactor of the thread worker because it is getting quite ugly!
21:47
Huh, for some reason Object
cannot have final fields and they cannot be
assigned a value in the compiler at all.
21:54
The compiler does not allow final fields to be set for Object
in its
constructor. In fact if final fields are initialized at run-time the compiler
does not generate any code for the constructor. So I will need to remember
this interesting detail.
22:57
For the Lex redesign and logos, I would like to credit the artist for their work:
- Kat@CMYKat Designs & Illustrations
- Kat Adam-MacEwen
The logo is awesome so far and Lex is coming along quite cutely, I am very excited.