Update maximum supported Java class version to 66.65535 (Java 22). (#127)
API changes
Remove deprecated ReferenceValueFactory, ParticularReferenceValueFactory should be used instead.
Deprecate methods in ValueFactory taking an Object as parameter. The alternatives using ParticularObject should be used instead.
Improved
Add support for selective parameter reconstruction to define which methods should have their calls evaluated.
Refactor ExecutingInvocationUnit to be customizable using executors. Improve checking whether method instance should be replaced in stack and variables.
Support execution of methods that operate on 1D arrays of all primitive and reference types with ReflectionExecutor.
Use runtime type instead of static type when possible in ExecutingInvocationUnit.
Introduce ParticularObject as the value tracked by ParticularReferenceValue. This makes explicit which kind of values can be tracked during the analysis, and introduces the possibility of tracking a model of the values that differ from the actual tracked object.
Bug fixes
Improve Kotlin MultiFileFacade metadata assertions to detect uninitialized references.
Fix handling of category 2 values in JvmValueTransferRelation to work correctly with ExecutingInvocationUnit.
Fix concurrency problems in CallGraph and ValueFactory ids.
Fix a bug in ReturnClassExtractor returning the last parameter type instead of null for primitive return values.
Fix ExecutorMethodSignatureMatcher trying to mutate an immutable map.
Fix TypedReferenceValue.cast() not handling null values correctly.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps com.guardsquare:proguard-core from 9.1.1 to 9.1.2.
Release notes
Sourced from com.guardsquare:proguard-core's releases.
Commits
eef07d3
Update releasenotes.md6d24462
Add optional ignoreStackMapAttributes parameter to ClassPoolBuilder.javaf91e444
FixTypedReferenceValue.cast()
not handling null values correctlyca1a503
Fix instanceof bug in AnalyzedObjectef507a5
Fix incorrect type conversion inAnalyzedObjectFactory#create
af08b83
FixExecutorMethodSignatureMatcher
trying to mutate an immutable ma0526147
Make toString of Models more verbose8673a6a
Add a MethodSignature extension with explicitly unspecified class + use it fo...db3219a
Support tracking of exact ClassConstants172ac2d
Add java.lang.reflect.Field.getInt to ClassConstantsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show