Description
Revisit each of our customizations and either find way to make this in the scala/scala repo (as a client of ASM 6.2) or push changes upstream.
Move customization to scala/scala
Changes to scala/scala that enable these reversions in scala-asm
Upstream
That leaves a smaller diff that make sense to upstream.
"Allow setting stack values in analysis frames"
We should upstream this change. It would help if we could motivate it with a standalone ASM analysis that it enables
"Multiple methods for initializing analysis values"
This change appears to backwards compatible, visitor implementations that only override newValue
will be called as before. So hopefully it could be considered upstream.
Once again, a motivating example will help us sell the change. Could we consider submitting AliasingFrame
, NullnessFrame
NullnessAnalyzer
NullnessInterpreter
and copyPropagation
to asm-commons?
"Call interpreter.copyInstruction consistently"
This appears to be a bugfix. Internally in asm, the copyOperation
hook is only used in BasicVerifier
, which doesn't deal with the DUP*
instructions for which we've added extra calls.
Assorted error message improvements
Include the class/method name in "code too large" or "string literal too large" exceptions. Hopefully uncontroversial to upstream.