5 Appears the Arduino has had a troubling history associated with it. In other
6 parts, today I have to perform my refactoring of the ZIP code so I can share it
7 more between the 32-bit and 64-bit variants and have less code. Currently as
8 it stands it is a bit ugly.
12 I should probably be more descriptive in my exceptions even though they would
13 be english only for the most part.
17 My directory entries could just be map entries, that would simplify some things
18 a bit. I can also have directory initialization based on the position of the
19 table, so basically entries in the ZIP are a table of long values. Searching
20 for specific entries would require linear traversal over the map however.
24 I could actually sub-class exceptions. Instead of a message saying whatever,
25 I can instead just have a sub-class extension. So if a ZIP directory was not
26 found then the exception is called with the reason. This means that I can go
27 easier on strings a bit at the cost of adding classes.
31 Well my current recursive map ZIP format is a bit insane, so I need to fix that
36 Ok, what I actually need next is a kind of class path element that is common
37 to the interpreter. So essentially the interpreter engine knows about there
38 being a class path, but internal details are a bit hidden away. Classes which
39 extend it could use it and such. I also have to have it abstract enough so that
40 a compiler system could be written using the pre-existing interpreter parsing
45 This would also be helpful with the compiler so it can determine where packages
50 I should add that this is the native compiler.
54 So far, I like the split off classpath stuff as it makes the code just nicer.
55 Then for `LocalEngine` I can have the ZIP handling stuff actually separate and
56 not a part of a giant mess. This also solves the problem of handling
57 `ServiceLoader` since that will have to manager JARs and such.
61 So that is what `ReferenceQueue` is used for, removing all the useless junk. I
62 can use that in my interpreter and such to handle cleaning up when things are
63 clear. That will be a must since once the value is gone the key is not needed