1. Improvement and cleanup
Applied feature and functional changes from BCEL 6.10.0 to 6.13.0. (refer to
release notes: https://commons.apache.org/proper/commons-bcel/changes.html).
Code modernization (using relatively more modern language features),
normalization (such as naming), javadocs, cleanup and minor improvements made
up most of the changes. These changes do not change how BCEL works for the XSLT
function in the JDK. Long lines or otherwise unusual code format are applied as
they are in the upstream code base so that they don't show up as changes in
future updates.
2. Exclusions
As it has always been, the focus of the BCEL component update is to satisfy
the needs for the XSLT functionality. Classes not needed for the JDK are
excluded as it has been done previously, this is especially true in the util
package. The verifier package is also excluded. Methods and sources that have
dependencies on the excluded classes are either removed or modified.
3. Deprecations and Warnings
Deprecated classes and contents relying on them are removed or modified to
use proper methods without changing the functionality. Deprecated fields in the
original source were changed to private ones in previous update in the JDK,
however, since the update process applies sources from the upstream again, they
were reverted back. In order to not have to go through them on every update,
the original sources are kept as they are.
Warnings, compilation warnings are fixed. References to deprecated methods
were modified to use proper methods (e.g. in BCELFactory, references to
InvokeInstruction::getClassName were changed to
getReferenceType::getSignature). The changes are inherited in this update.
4. Removed package and classes
Since the BCEL component is for xml transform only, several classes, that
were not in the JDK, were excluded. Among them, JavaWrapper.java for example
can be problematic as it may use a user-specified classloader to load arbitrary
classes. It and related classes were therefore excluded.
5. Test
Tier 1-3 tests passed.
JCK XML tests passed.
---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK
Interim AI Policy](https://openjdk.org/legal/ai).
-------------
Commit messages:
- trigger PR issue lookup
- 8393971: Update Commons BCEL to Version 6.13.0
Changes: https://git.openjdk.org/jdk/pull/33762/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33762&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8393971
Stats: 10296 lines in 333 files changed: 6028 ins; 345 del; 3923 mod
Patch: https://git.openjdk.org/jdk/pull/33762.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/33762/head:pull/33762
PR: https://git.openjdk.org/jdk/pull/33762