The GitHub Actions job "Lint PR" on fory.git/fix-scala-json-nested-case-class has succeeded. Run started by GitHub user pjfanning (triggered by pjfanning).
Head commit for run: 637b5063faa75871698353e97ab7c2bbff059912 / PJ Fanning <[email protected]> fix(scala): narrow the case-class claim and keep default fetches conditional Addresses the second and third AI review rounds. The receiver belongs only to the model shapes that can carry instance defaults. The full constructor is now private and its public form keeps its previous signature, so `fory-json-kotlin`, whose call site uses that shape, is untouched. `JsonObjectModel` also rejects a receiver that no default is bound to, so the invariant is total rather than checked per parameter. The unreconstructible-case-class claim applies only when the companion is unreachable. A reachable companion whose primary constructor this module does not support, such as a varargs or non-public one, keeps its previous handling instead of becoming a hard failure. A companion that exists but cannot be linked is no longer reported as an unreachable companion: only absence means the type has no companion, and a `LinkageError` now surfaces with the companion it failed to load. The workspace creator no longer hoists the defaults receiver into a local: that local ran on every construction, while the value is needed only on a missing argument. Both codegen paths now fetch it on the branch that uses it. GraalVM registration is narrowed to the members the Scala module looks up, and its helpers are named for the Scala companion they actually detect. Both rejection tests now assert their message. An outer-bound case class also has no reachable companion, so without that assertion either branch alone satisfied both tests, and the method-local case must be declared inside an object to reach the companion check at all. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Report URL: https://github.com/apache/fory/actions/runs/33333453504 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
