It is possible that I could merge CPProgram and CPProgramBuilder together into a single class. However, it would be slightly complicated.


I could also separate the local interpreter since I may want the basic interpreter to be branched off. I already designed it to be separated though, so I should keep it that way. It is possible that I may want to reuse it for example in a hypothetical IDE or hairball to build itself and generate a binary for another target.


Also due to the way the new class loading code works, there will no longer be any partial classes.


Actually in my range check, I added an extra check which makes sure that the entry exists. However this cannot be true if a constant pool entry references an entry defined at a later index.