- Fail fast on undefined constants used in annotations
# With the previous, eval()-based implementation, this would raise a warning
# (hidden to most contexts) but return the string equivalent of the constant
# and thus "work" (although it should not have)
- Fix typo in exception message in lang.XPClass::getConstant()
- Add test for undefined class constant
- Add test for non-existant class
- Add test for non-existant class
- Wrap all exceptions from parseAnnotations() in lang.ClassFormatExceptions
- QA: Simplify code in parseAnnotations() - save unnecessary concatenation
- Change wrapped exceptions into something separate based on usecase
- Support class static members (Class::$MEMBER)
# Also add support for the "parent" keyword at the same time, discovered
# this was missing during implementing various tests
- Initial release.
- QA: Unify code in parseAnnotations()