DISCLAIMER: These notes are from the defunct k8 project which precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26! The k8 project was effectively a Java SE 8 operating system and as such all of the notes are in the context of that scope. That project is no longer my goal as SquirrelJME is the spiritual successor to it.
Reflectively reading the constant based data could reduce code bloat while increasing constant definition bloat, but could be well worth it.
Using this annotation based system can simplify class readers as I can keep the constant specific code out of the stuff and potentially support future constant types if they are added.
My dynamic constant loading stuff works and throws a NullPointerException as expected (because nothing is actually read properly yet).
This dynamic approach is rather nice, although a bit large it is good and it works nicely because I can unify constant creation code in one single bit.
Did about two hours of coding, a bit tired now but at least some constants are read. When more constants are added later it should not be difficult to code in support for the reader. So far the separated reader and class file information works nicely, no polluted reading interface. Also designing it in a way so that it could be possible for the class format to change to potentially support other formats. Although the only supported formats would probably be my own KBF type (a natively compiled class).
Need a good way to set the this, super, and interfaces of the current class without making it ugly. In the class file they are all references to class constants in the constant pool. So perhaps that would be the way to go.