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.
All of my
throw new RuntimeException("TODO"); should be
Error("TODO"); since Error should never be caught.
UnknownError might be a better choice, or perhaps InternalError.
I decided on UnknownError, now there is the long rebuild since I touched many packages. Which took 3 minutes and 18 seconds.
PreprocessorTask and AssemblerTask reporting should best be done with URIs insted of PreprocessorTask.Files. Also each token will now have the file the token originated in also.
Unwrapping InvocationTargetException makes the stack trace much easier to read when uncaught exceptions are thrown.