3 ***DISCLAIMER***: _These notes are from the defunct k8 project which_
4 _precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26!_
5 _The k8 project was effectively a Java SE 8 operating system and as such_
6 _all of the notes are in the context of that scope. That project is no_
7 _longer my goal as SquirrelJME is the spiritual successor to it._
9 Actually instead of sleeping I read about exoplanets and that satellite on a
10 one way trip to Pluto, then played Majora's Mask.
12 Wrote a tiny bit of code, but since it is dark outside and bright inside bugs
13 are rather attracted and there are many bugs, so I will just finish off this
14 small filter getting code.
16 I decied to use C-style printf in my EchelonError exception and it comes out
17 quite nicely when I want to format characters a specific way. No locale is
18 chosen because it may mess with the error messages which should not be in any
21 Reworking the class reading code, I need a better way to deal with constants
22 because the constant code always ends up a huge mess with about a dozen or so
23 of individual classes and duplicate code. Currently there exists
24 CONSTANT_Class.java CONSTANT_Double.java CONSTANT_Fieldref.java
25 CONSTANT_Float.java CONSTANT_Integer.java CONSTANT_InterfaceMethodref.java
26 CONSTANT_InvokeDynamic.java CONSTANT_Long.java CONSTANT_MethodHandle.java
27 CONSTANT_Methodref.java CONSTANT_MethodType.java CONSTANT_NameAndType.java
28 CONSTANT_String.java CONSTANT_Utf.java and most of it is boilerplate. Most of
29 the constants are rather the same, mostly just containing references to other
30 constants. So to reduce boilerplate, a single class that contains a constant
31 with a subenum to handle multiple cases of specific contents, then just use a
32 single get with a checker for class type to legality.
34 So the question remains, without making things very ugly how can this be done.
35 Reading of binary data can be done in the constructor.
37 I just realized that it may be possible to exploit private access into classes
38 if they use bridge methods (since nested classes have access to private class
39 data), so when I create the linker and recompiler checks must be done to
40 prevent these exploits. It might break some language compatibility, but I
41 would rather it be secure.