9.0.9
mrjameshamilton
released this
07 Jun 16:05
·
229 commits
to master
since this release
Kotlin support
- Add support for processing Kotlin 1.9 metadata.
- Update
kotlinx
metadata dependency to version 0.6.0.
Java support
- Update maximum supported Java class version to 65.65535 (Java 21).
Improved
- Added support for adding line numbers in the
CodeAttributeEditor
. - Improve performance of
ClassReferenceInitializer
when initializing Kotlin type aliases. - Improve performance of
ClassPool.removeClass
. - Allow more configuration of
ExecutingInvocationUnit
by usingExecutingInvocationUnit.Builder
. - Add a mode to
ExecutingInvocationUnit
to approximate reference of types not supported for the execution via reflection. - Implement
Autocloseable
inDataEntryWriter
interface. JvmTransferRelation
does not store anymore static variables with default value, reducing the dataflow analysis state space.
Bug fixes
- Use program location as hash code for
JvmAbstractState
to allow correct use with hash sets. - Fix a bug in
JvmTransferRelation
handling arithmetic instructions returning category 2 values incorrectly. - Fix delegation of
proguard.evaluation.value.ParticularValueFactory#createReferenceValueNull()
.
API changes
- The key used for fields in
JvmAbstractState
has been updated to include the field type to disambiguate between
overloaded fields. - Replace
allNodes
field inproguard.analysis.cpa.defaults.Cfa
withgetAllNodes
method to save memory. - Constructor for
ExecutingInvocationUnit
is deprecated, useExecutingInvocationUnit.Builder
instead.