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.
For messages generated by the compiler, I can just do what I have done elsewhere and use annotated enumerations. That will then cause the message translations and such out of the code and placed elsewhere. I could work with any enumeration value really. The messages could just be shoved elsewhere. So a call simply becomes emit(SomeClass.SOMEVALUE), which is quite the saver. Then I can change duplicate messages and use them without issue.
Having just a single class for this is also good too because it does not bloat the source with tons of classes that do not do much.
This is confusing, my code does not compile and I have no idea why. It cannot find Message.Notifier, but it is defined. It also complains about a missing implementation. I am pretty sure that "public abstract void emit(Message __m);" matches "public void emit(Message __m)".
This should not occur, I have no idea why and it is stressing me out very much.
I was importing Message.Notifier, I really do hope this is the problem otherwise I will have to give up.
Actually, it was a conflict with my internal enumeration being called Message while importing a Message. My compiler should have a warning against this.
I need to commonize the plugin stuff and the cache because it is in many places.
The new class MappedServices seems to be quite good so far.
With this much cleaner code I can resume work on getting the compiler code situated and working.
In order for my build stuff to work in the future with the potential of having extra build options for the internal build map, I will have to make it so the shell script can handle such situations. Currently those scripts can only handle a depth of two. Two is quite limited.