Commits
Tarun Sukhani authored 99e63b21f99
test(classloading): add bytecode-enhancer + precompiled-guard tests (PF-136)
framework/src/play/classloading/ had zero direct tests. Add real behavioral
tests that enhance compiled fixture bytecode, load the enhanced class, and
exercise it:
- PropertiesEnhancer: generated getX/setX round-trip + @PlayPropertyAccessor
stamp; direct field access rewritten through FieldAccessor.invoke{Read,Write}Property.
- LocalvariablesNamesEnhancer: method parameter names recoverable from the
LocalVariablesNamesTracer registry at runtime; enter()/exit() balance.
- ApplicationClasses.enhance() isTestSource() gate: under -Dprecompile an
app-rooted class IS written to precompiled/java/ but a test-rooted class is
NOT (keeps test code + JUnit off the prod classpath).
Each test has a paired UN-enhanced/negative assertion as a built-in mutation
check. Test-only; no production changes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>