CommandHelper Build #3489-

Be aware that this branch (construct-to-mixed2018) is not the main branch (master)!


Go to main branch View stable downloads

Project CommandHelper
Status FAILURE
Branch construct-to-mixed2018
Number #3489-
Date 3 weeks ago
Artifacts

No artifacts (files) are available for this build!

Changes
ID Summary Committer Date
8041089a This still doesn't work, due to a bug in the compiler There is a bug in ForceImplements that doesn't respect the fact that it's an interface. ladycailin 3 weeks ago
0923fef8 Finish implementing Mixed everywhere. Enums are first class. Previously, exec(s) accepted an array of Constructs. While this worked most of the time, it has serious limitations, because object types that cannot extend Construct (i.e. enums, exceptions, dynamically defined classes) cannot be passed around. Now, we use Mixed everywhere, instead of Construct (at least in the interfaces), and so now things like enums and other classes can implement Mixed, and be added into the ecosystem. As part of this change, enums are now proper ClassTypes. An interesting learning here is that we violated the Liskov Substitution Pricipal early on. Had we not done that, and used an interface up front, (depend on abstractions, not concretions) we would not have had to deal with any of this. Since this changes the interface of Function, this breaks ALL extensions, thus the version has been bumped to 3.3.4. I have decided to not add binary compatibility either, since that would introduce a runtime penalty for every single function call, in every single script. ladycailin 3 weeks ago