SquirrelJME/SquirrelJME

View on GitHub
assets/developer-notes/stephanie-gawroriski/2014/08/24.mkd

Summary

Maintainability
Test Coverage
# 2014/08/24

***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._

## 08:00

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.

## 08:22

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.

## 09:29

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)".

## 09:36

This should not occur, I have no idea why and it is stressing me out very
much.

## 09:53

I was importing Message.Notifier, I really do hope this is the problem
otherwise I will have to give up.

## 09:57

Actually, it was a conflict with my internal enumeration being called Message
while importing a Message. My compiler should have a warning against this.

## 13:32

I need to commonize the plugin stuff and the cache because it is in many
places.

## 14:07

The new class MappedServices seems to be quite good so far.

## 14:49

With this much cleaner code I can resume work on getting the compiler code
situated and working.

## 14:55

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.