diff -Nru bcel-6.1/CONTRIBUTING.md bcel-6.2/CONTRIBUTING.md
--- bcel-6.1/CONTRIBUTING.md 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/CONTRIBUTING.md 2017-12-08 19:13:53.000000000 +0000
@@ -51,47 +51,65 @@
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
+ Make sure you have a [GitHub account](https://github.com/signup/free).
+ If you're planning to implement a new feature it makes sense to discuss you're changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons BCEL's scope.
-+ Submit a ticket for your issue, assuming one does not already exist.
++ Submit a [Jira Ticket][jira] for your issue, assuming one does not already exist.
+ Clearly describe the issue including steps to reproduce when it is a bug.
+ Make sure you fill in the earliest version that you know has the issue.
-+ Fork the repository on GitHub.
++ Find the corresponding [repository on GitHub](https://github.com/apache/?query=commons-),
+[fork](https://help.github.com/articles/fork-a-repo/) and check out your forked repository.
Making Changes
--------------
-+ Create a topic branch from where you want to base your work (this is usually the master/trunk branch).
++ Create a _topic branch_ for your isolated work.
+ * Usually you should base your branch on the `master` or `trunk` branch.
+ * A good topic branch name can be the JIRA bug id plus a keyword, e.g. `BCEL-123-InputStream`.
+ * If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
+ Make commits of logical units.
+ * Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
+ * e.g. `BCEL-123: Close input stream earlier`
+ Respect the original code style:
+ Only use spaces for indentation.
- + Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
- + Check for unnecessary whitespace with git diff --check before committing.
-+ Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue.
-+ Make sure you have added the necessary tests for your changes.
+ + Create minimal diffs - disable _On Save_ actions like _Reformat Source Code_ or _Organize Imports_. If you feel the source code should be reformatted create a separate PR for this change first.
+ + Check for unnecessary whitespace with `git diff` -- check before committing.
++ Make sure you have added the necessary tests for your changes, typically in `src/test/java`.
+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken.
Making Trivial Changes
----------------------
+The JIRA tickets are used to generate the changelog for the next release.
+
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA.
In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number.
+
Submitting Changes
------------------
-+ Sign the [Contributor License Agreement][cla] if you haven't already.
++ Sign and submit the Apache [Contributor License Agreement][cla] if you haven't already.
+ * Note that small patches & typical bug fixes do not require a CLA as
+ clause 5 of the [Apache License](https://www.apache.org/licenses/LICENSE-2.0.html#contributions)
+ covers them.
+ Push your changes to a topic branch in your fork of the repository.
-+ Submit a pull request to the repository in the apache organization.
++ Submit a _Pull Request_ to the corresponding repository in the `apache` organization.
+ * Verify _Files Changed_ shows only your intended changes and does not
+ include additional files like `target/*.class`
+ Update your JIRA ticket and include a link to the pull request in the ticket.
+If you prefer to not use GitHub, then you can instead use
+`git format-patch` (or `svn diff`) and attach the patch file to the JIRA issue.
+
+
Additional Resources
--------------------
+ [Contributing patches](https://commons.apache.org/patches.html)
-+ [Apache Commons BCEL JIRA project page](https://issues.apache.org/jira/browse/BCEL)
++ [Apache Commons BCEL JIRA project page][jira]
+ [Contributor License Agreement][cla]
+ [General GitHub documentation](https://help.github.com/)
+ [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
-+ #apachecommons IRC channel on freenode.org
++ `#apache-commons` IRC channel on `irc.freenode.net`
[cla]:https://www.apache.org/licenses/#clas
+[jira]:https://issues.apache.org/jira/browse/BCEL
diff -Nru bcel-6.1/debian/changelog bcel-6.2/debian/changelog
--- bcel-6.1/debian/changelog 2021-04-21 16:36:53.000000000 +0000
+++ bcel-6.2/debian/changelog 2021-04-27 05:14:41.000000000 +0000
@@ -1,8 +1,18 @@
-bcel (6.1-1~16.04.sav0) xenial; urgency=medium
+bcel (6.2-1~16.04.sav0) xenial; urgency=medium
* Backport to Xenial
+ * debian/compat: Set compat level to 10 (Launchpad sbuild highest for Xenial)
- -- Rob Savoury Wed, 21 Apr 2021 09:36:53 -0700
+ -- Rob Savoury Mon, 26 Apr 2021 22:14:41 -0700
+
+bcel (6.2-1) unstable; urgency=medium
+
+ * Team upload.
+ * New upstream version 6.2.
+ * Use compat level 11.
+ * Declare compliance with Debian Policy 4.1.3.
+
+ -- Markus Koschany Wed, 17 Jan 2018 00:05:34 +0100
bcel (6.1-1) unstable; urgency=medium
@@ -126,7 +136,7 @@
* Add ${misc:Depends} to Depends to clear Lintian warnings
* Drop the dependency on libxerces2-java-doc on the
libbcel-java-doc package as xerces2 is not a runtime dependency
- for bcel, in fact xerces is not used at all in bcel's code.
+ for bcel, in fact xerces is not used at all in bcel's code.
It caused lots of confusion in Ubuntu for nothing - see LP #190247.
* Add libbcel-java-doc.docs to ship to real docs for a change.
* Move the API docs to /usr/share/java/libbcel-java/api
diff -Nru bcel-6.1/debian/control bcel-6.2/debian/control
--- bcel-6.1/debian/control 2017-10-17 21:34:56.000000000 +0000
+++ bcel-6.2/debian/control 2018-01-16 23:05:34.000000000 +0000
@@ -5,14 +5,14 @@
Uploaders: Torsten Werner , Emmanuel Bourg
Build-Depends-Indep: default-jdk, default-jdk-doc
Build-Depends:
- debhelper (>= 10),
+ debhelper (>= 11),
libcommons-lang3-java,
libjna-platform-java,
libmaven-bundle-plugin-java,
libmaven-javadoc-plugin-java,
junit4,
maven-debian-helper (>= 2.1~)
-Standards-Version: 4.1.1
+Standards-Version: 4.1.3
Vcs-Git: https://anonscm.debian.org/git/pkg-java/bcel.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/bcel.git
Homepage: http://commons.apache.org/bcel/
@@ -33,7 +33,7 @@
interesting application is the creation of classes from scratch at run-time.
The Byte Code Engineering Library (BCEL) may be also useful if you want to
learn about the Java Virtual Machine (JVM) and the format of Java .class
- files.
+ files.
Package: libbcel-java-doc
Architecture: all
@@ -52,6 +52,6 @@
interesting application is the creation of classes from scratch at run-time.
The Byte Code Engineering Library (BCEL) may be also useful if you want to
learn about the Java Virtual Machine (JVM) and the format of Java .class
- files.
+ files.
.
This package contains the API (javadoc) documentation.
diff -Nru bcel-6.1/debian/libbcel-java.docs bcel-6.2/debian/libbcel-java.docs
--- bcel-6.1/debian/libbcel-java.docs 1970-01-01 00:00:00.000000000 +0000
+++ bcel-6.2/debian/libbcel-java.docs 2018-01-16 23:05:34.000000000 +0000
@@ -0,0 +1 @@
+NOTICE.txt
diff -Nru bcel-6.1/pom.xml bcel-6.2/pom.xml
--- bcel-6.1/pom.xml 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/pom.xml 2017-12-08 19:13:53.000000000 +0000
@@ -33,7 +33,7 @@
org.apache.bcel
bcel
jar
- 6.1
+ 6.2
Apache Commons BCEL
Apache Commons Bytecode Engineering Library
@@ -47,7 +47,7 @@
1.7
bcel
org.apache.bcel
- 6.1
+ 6.2
(Java 7+)
https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-bcel
@@ -58,7 +58,7 @@
BCEL
12314220
- 3.0.4
+ 3.0.5
2.17
2.8
4.5.0
@@ -442,7 +442,7 @@
org.apache.commons
commons-lang3
- 3.6
+ 3.7
test
@@ -511,7 +511,7 @@
commons-io
commons-io
- 2.5
+ 2.6
test
diff -Nru bcel-6.1/README.md bcel-6.2/README.md
--- bcel-6.1/README.md 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/README.md 2017-12-08 19:13:53.000000000 +0000
@@ -1,103 +1,105 @@
-
-
-Apache Commons BCEL
-===================
-
-[![Build Status](https://travis-ci.org/apache/commons-bcel.svg?branch=trunk)](https://travis-ci.org/apache/commons-bcel)
-[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.bcel/bcel/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.bcel/bcel/)
-
-Apache Commons Bytecode Engineering Library
-
-Documentation
--------------
-
-More information can be found on the [Apache Commons BCEL homepage](https://commons.apache.org/proper/commons-bcel).
-The [JavaDoc](https://commons.apache.org/proper/commons-bcel/javadocs/api-release) can be browsed.
-Questions related to the usage of Apache Commons BCEL should be posted to the [user mailing list][ml].
-
-Where can I get the latest release?
------------------------------------
-You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-bcel/download_bcel.cgi).
-
-Alternatively you can pull it from the central Maven repositories:
-
-```xml
-
- org.apache.bcel
- bcel
- 6.0
-
-```
-
-Contributing
-------------
-
-We accept Pull Requests via GitHub. The [developer mailing list][ml] is the main channel of communication for contributors.
-There are some guidelines which will make applying PRs easier for us:
-+ No tabs! Please use spaces for indentation.
-+ Respect the code style.
-+ Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
-+ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running ```mvn clean test```.
-
-If you plan to contribute on a regular basis, please consider filing a [contributor license agreement](https://www.apache.org/licenses/#clas).
-You can learn more about contributing via GitHub in our [contribution guidelines](CONTRIBUTING.md).
-
-License
--------
-This code is under the [Apache Licence v2](https://www.apache.org/licenses/LICENSE-2.0).
-
-See the `NOTICE.txt` file for required notices and attributions.
-
-Donations
----------
-You like Apache Commons BCEL? Then [donate back to the ASF](https://www.apache.org/foundation/contributing.html) to support the development.
-
-Additional Resources
---------------------
-
-+ [Apache Commons Homepage](https://commons.apache.org/)
-+ [Apache Issue Tracker (JIRA)](https://issues.apache.org/jira/browse/BCEL)
-+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
-+ `#apache-commons` IRC channel on `irc.freenode.org`
-
-[ml]:https://commons.apache.org/mail-lists.html
+
+
+Apache Commons BCEL
+===================
+
+[![Build Status](https://travis-ci.org/apache/bcel.svg?branch=master)](https://travis-ci.org/apache/bcel)
+[![Coverage Status](https://coveralls.io/repos/apache/bcel/badge.svg?branch=master)](https://coveralls.io/r/apache/bcel)
+[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.bcel/bcel/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.bcel/bcel/)
+[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
+
+Apache Commons Bytecode Engineering Library
+
+Documentation
+-------------
+
+More information can be found on the [Apache Commons BCEL homepage](https://commons.apache.org/proper/commons-bcel).
+The [JavaDoc](https://commons.apache.org/proper/commons-bcel/javadocs/api-release) can be browsed.
+Questions related to the usage of Apache Commons BCEL should be posted to the [user mailing list][ml].
+
+Where can I get the latest release?
+-----------------------------------
+You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-bcel/download_bcel.cgi).
+
+Alternatively you can pull it from the central Maven repositories:
+
+```xml
+
+ org.apache.bcel
+ bcel
+ 6.2
+
+```
+
+Contributing
+------------
+
+We accept Pull Requests via GitHub. The [developer mailing list][ml] is the main channel of communication for contributors.
+There are some guidelines which will make applying PRs easier for us:
++ No tabs! Please use spaces for indentation.
++ Respect the code style.
++ Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
++ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running ```mvn clean test```.
+
+If you plan to contribute on a regular basis, please consider filing a [contributor license agreement](https://www.apache.org/licenses/#clas).
+You can learn more about contributing via GitHub in our [contribution guidelines](CONTRIBUTING.md).
+
+License
+-------
+This code is under the [Apache Licence v2](https://www.apache.org/licenses/LICENSE-2.0).
+
+See the `NOTICE.txt` file for required notices and attributions.
+
+Donations
+---------
+You like Apache Commons BCEL? Then [donate back to the ASF](https://www.apache.org/foundation/contributing.html) to support the development.
+
+Additional Resources
+--------------------
+
++ [Apache Commons Homepage](https://commons.apache.org/)
++ [Apache Issue Tracker (JIRA)](https://issues.apache.org/jira/browse/BCEL)
++ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
++ `#apache-commons` IRC channel on `irc.freenode.org`
+
+[ml]:https://commons.apache.org/mail-lists.html
diff -Nru bcel-6.1/RELEASE-NOTES.txt bcel-6.2/RELEASE-NOTES.txt
--- bcel-6.1/RELEASE-NOTES.txt 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/RELEASE-NOTES.txt 2017-12-08 19:13:53.000000000 +0000
@@ -1,4 +1,51 @@
Apache Commons BCEL
+ Version 6.2
+ RELEASE NOTES
+
+
+INTRODUCTION:
+
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.2!
+
+The Byte Code Engineering Library (BCEL) is intended to give users a convenient
+way to analyze, create, and manipulate compiled .class files. Classes are
+represented by objects containing all the symbolic information of the given
+class: methods, fields and byte code instructions.
+
+Experimental Java 9 Support
+
+FIXED BUGS:
+===========
+
+o BCEL-294: Incorrect comment in StackMap.java Thanks to Mark Roberts.
+o BCEL-296: Incorrect comment in several classes. Thanks to Mark Roberts.
+o BCEL-295: Fix local variable live range length; add test case. Thanks to Mark Roberts.
+o BCEL-300: org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19.
+o BCEL-301: org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 20.
+
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ http://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+ Apache Commons BCEL
Version 6.1
RELEASE NOTES
@@ -85,6 +132,7 @@
Have fun!
-Apache Commons BCEL team
+-----------------------------------------------------------------------------
Release Notes for 6.0
diff -Nru bcel-6.1/src/changes/changes.xml bcel-6.2/src/changes/changes.xml
--- bcel-6.1/src/changes/changes.xml 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/changes/changes.xml 2017-12-08 19:13:53.000000000 +0000
@@ -62,6 +62,14 @@
-->
+
+ Incorrect comment in StackMap.java
+ Incorrect comment in several classes.
+ Fix local variable live range length; add test case.
+ org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19.
+ org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 20.
+
+
Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility
Add minimal Java 9 support
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/classfile/Constant.java bcel-6.2/src/main/java/org/apache/bcel/classfile/Constant.java
--- bcel-6.1/src/main/java/org/apache/bcel/classfile/Constant.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/classfile/Constant.java 2017-12-08 19:13:53.000000000 +0000
@@ -163,6 +163,10 @@
return new ConstantMethodType(input);
case Const.CONSTANT_InvokeDynamic:
return new ConstantInvokeDynamic(input);
+ case Const.CONSTANT_Module:
+ return new ConstantModule(input);
+ case Const.CONSTANT_Package:
+ return new ConstantPackage(input);
default:
throw new ClassFormatException("Invalid byte tag in constant pool: " + b);
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/classfile/StackMap.java bcel-6.2/src/main/java/org/apache/bcel/classfile/StackMap.java
--- bcel-6.1/src/main/java/org/apache/bcel/classfile/StackMap.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/classfile/StackMap.java 2017-12-08 19:13:53.000000000 +0000
@@ -74,7 +74,7 @@
/**
- * Dump line number table attribute to file stream in binary format.
+ * Dump stack map table attribute to file stream in binary format.
*
* @param file Output file stream
* @throws IOException
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ALOAD.java bcel-6.2/src/main/java/org/apache/bcel/generic/ALOAD.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ALOAD.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ALOAD.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class ALOAD extends LoadInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ALOAD() {
super(org.apache.bcel.Const.ALOAD, org.apache.bcel.Const.ALOAD_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ANEWARRAY.java bcel-6.2/src/main/java/org/apache/bcel/generic/ANEWARRAY.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ANEWARRAY.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ANEWARRAY.java 2017-12-08 19:13:53.000000000 +0000
@@ -29,8 +29,8 @@
ExceptionThrower, StackConsumer, StackProducer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ANEWARRAY() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ArithmeticInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/ArithmeticInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ArithmeticInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ArithmeticInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -28,8 +28,8 @@
StackProducer, StackConsumer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ArithmeticInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ArrayInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/ArrayInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ArrayInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ArrayInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -28,8 +28,8 @@
TypedInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ArrayInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ASTORE.java bcel-6.2/src/main/java/org/apache/bcel/generic/ASTORE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ASTORE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ASTORE.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class ASTORE extends StoreInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ASTORE() {
super(org.apache.bcel.Const.ASTORE, org.apache.bcel.Const.ASTORE_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/BIPUSH.java bcel-6.2/src/main/java/org/apache/bcel/generic/BIPUSH.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/BIPUSH.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/BIPUSH.java 2017-12-08 19:13:53.000000000 +0000
@@ -35,8 +35,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
BIPUSH() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/BranchInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/BranchInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/BranchInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/BranchInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -52,8 +52,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
BranchInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/CHECKCAST.java bcel-6.2/src/main/java/org/apache/bcel/generic/CHECKCAST.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/CHECKCAST.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/CHECKCAST.java 2017-12-08 19:13:53.000000000 +0000
@@ -29,8 +29,8 @@
StackConsumer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
CHECKCAST() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ConversionInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/ConversionInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ConversionInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ConversionInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -28,8 +28,8 @@
StackProducer, StackConsumer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ConversionInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/CPInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/CPInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/CPInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/CPInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -46,8 +46,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
CPInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/DCONST.java bcel-6.2/src/main/java/org/apache/bcel/generic/DCONST.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/DCONST.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/DCONST.java 2017-12-08 19:13:53.000000000 +0000
@@ -30,8 +30,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
DCONST() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/DLOAD.java bcel-6.2/src/main/java/org/apache/bcel/generic/DLOAD.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/DLOAD.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/DLOAD.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class DLOAD extends LoadInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
DLOAD() {
super(org.apache.bcel.Const.DLOAD, org.apache.bcel.Const.DLOAD_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/DSTORE.java bcel-6.2/src/main/java/org/apache/bcel/generic/DSTORE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/DSTORE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/DSTORE.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class DSTORE extends StoreInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
DSTORE() {
super(org.apache.bcel.Const.DSTORE, org.apache.bcel.Const.DSTORE_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/FCONST.java bcel-6.2/src/main/java/org/apache/bcel/generic/FCONST.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/FCONST.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/FCONST.java 2017-12-08 19:13:53.000000000 +0000
@@ -30,8 +30,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
FCONST() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/FieldInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/FieldInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/FieldInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/FieldInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public abstract class FieldInstruction extends FieldOrMethod {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
FieldInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/FieldOrMethod.java bcel-6.2/src/main/java/org/apache/bcel/generic/FieldOrMethod.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/FieldOrMethod.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/FieldOrMethod.java 2017-12-08 19:13:53.000000000 +0000
@@ -32,8 +32,8 @@
public abstract class FieldOrMethod extends CPInstruction implements LoadClass {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
FieldOrMethod() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/FLOAD.java bcel-6.2/src/main/java/org/apache/bcel/generic/FLOAD.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/FLOAD.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/FLOAD.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class FLOAD extends LoadInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
FLOAD() {
super(org.apache.bcel.Const.FLOAD, org.apache.bcel.Const.FLOAD_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/FSTORE.java bcel-6.2/src/main/java/org/apache/bcel/generic/FSTORE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/FSTORE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/FSTORE.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class FSTORE extends StoreInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
FSTORE() {
super(org.apache.bcel.Const.FSTORE, org.apache.bcel.Const.FSTORE_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/GETFIELD.java bcel-6.2/src/main/java/org/apache/bcel/generic/GETFIELD.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/GETFIELD.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/GETFIELD.java 2017-12-08 19:13:53.000000000 +0000
@@ -32,8 +32,8 @@
StackProducer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
GETFIELD() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/GETSTATIC.java bcel-6.2/src/main/java/org/apache/bcel/generic/GETSTATIC.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/GETSTATIC.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/GETSTATIC.java 2017-12-08 19:13:53.000000000 +0000
@@ -31,8 +31,8 @@
public class GETSTATIC extends FieldInstruction implements PushInstruction, ExceptionThrower {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
GETSTATIC() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/GotoInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/GotoInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/GotoInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/GotoInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -30,8 +30,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
GotoInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/GOTO.java bcel-6.2/src/main/java/org/apache/bcel/generic/GOTO.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/GOTO.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/GOTO.java 2017-12-08 19:13:53.000000000 +0000
@@ -28,8 +28,8 @@
public class GOTO extends GotoInstruction implements VariableLengthInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
GOTO() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/GOTO_W.java bcel-6.2/src/main/java/org/apache/bcel/generic/GOTO_W.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/GOTO_W.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/GOTO_W.java 2017-12-08 19:13:53.000000000 +0000
@@ -30,8 +30,8 @@
public class GOTO_W extends GotoInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
GOTO_W() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ICONST.java bcel-6.2/src/main/java/org/apache/bcel/generic/ICONST.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ICONST.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ICONST.java 2017-12-08 19:13:53.000000000 +0000
@@ -30,8 +30,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ICONST() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ACMPEQ.java bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ACMPEQ.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ACMPEQ.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ACMPEQ.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IF_ACMPEQ extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IF_ACMPEQ() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ACMPNE.java bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ACMPNE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ACMPNE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ACMPNE.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IF_ACMPNE extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IF_ACMPNE() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IFEQ.java bcel-6.2/src/main/java/org/apache/bcel/generic/IFEQ.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IFEQ.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IFEQ.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IFEQ extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IFEQ() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IFGE.java bcel-6.2/src/main/java/org/apache/bcel/generic/IFGE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IFGE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IFGE.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IFGE extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IFGE() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IFGT.java bcel-6.2/src/main/java/org/apache/bcel/generic/IFGT.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IFGT.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IFGT.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IFGT extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IFGT() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPEQ.java bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPEQ.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPEQ.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPEQ.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IF_ICMPEQ extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IF_ICMPEQ() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPGE.java bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPGE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPGE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPGE.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IF_ICMPGE extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IF_ICMPGE() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPGT.java bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPGT.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPGT.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPGT.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IF_ICMPGT extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IF_ICMPGT() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPLE.java bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPLE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPLE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPLE.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IF_ICMPLE extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IF_ICMPLE() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPLT.java bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPLT.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPLT.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPLT.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IF_ICMPLT extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IF_ICMPLT() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPNE.java bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPNE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IF_ICMPNE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IF_ICMPNE.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IF_ICMPNE extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IF_ICMPNE() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IfInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/IfInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IfInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IfInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -25,8 +25,8 @@
public abstract class IfInstruction extends BranchInstruction implements StackConsumer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IfInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IFLE.java bcel-6.2/src/main/java/org/apache/bcel/generic/IFLE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IFLE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IFLE.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IFLE extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IFLE() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IFLT.java bcel-6.2/src/main/java/org/apache/bcel/generic/IFLT.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IFLT.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IFLT.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IFLT extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IFLT() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IFNE.java bcel-6.2/src/main/java/org/apache/bcel/generic/IFNE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IFNE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IFNE.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IFNE extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IFNE() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IFNONNULL.java bcel-6.2/src/main/java/org/apache/bcel/generic/IFNONNULL.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IFNONNULL.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IFNONNULL.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IFNONNULL extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IFNONNULL() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IFNULL.java bcel-6.2/src/main/java/org/apache/bcel/generic/IFNULL.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IFNULL.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IFNULL.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class IFNULL extends IfInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IFNULL() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/IINC.java bcel-6.2/src/main/java/org/apache/bcel/generic/IINC.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/IINC.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/IINC.java 2017-12-08 19:13:53.000000000 +0000
@@ -34,8 +34,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
IINC() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ILOAD.java bcel-6.2/src/main/java/org/apache/bcel/generic/ILOAD.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ILOAD.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ILOAD.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class ILOAD extends LoadInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ILOAD() {
super(org.apache.bcel.Const.ILOAD, org.apache.bcel.Const.ILOAD_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/INSTANCEOF.java bcel-6.2/src/main/java/org/apache/bcel/generic/INSTANCEOF.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/INSTANCEOF.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/INSTANCEOF.java 2017-12-08 19:13:53.000000000 +0000
@@ -29,8 +29,8 @@
StackProducer, StackConsumer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
INSTANCEOF() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/Instruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/Instruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/Instruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/Instruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -47,8 +47,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
Instruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java 2017-12-08 19:13:53.000000000 +0000
@@ -1,145 +1,145 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel.generic;
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
-import org.apache.bcel.classfile.ConstantInvokeDynamic;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.util.ByteSequence;
-
-/**
- * Class for INVOKEDYNAMIC. Not an instance of InvokeInstruction, since that class
- * expects to be able to get the class of the method. Ignores the bootstrap
- * mechanism entirely.
- *
- * @version $Id: InvokeInstruction.java 1152072 2011-07-29 01:54:05Z dbrosius $
- * @see
- *
- * The invokedynamic instruction in The Java Virtual Machine Specification
- * @since 6.0
- */
-public class INVOKEDYNAMIC extends InvokeInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- INVOKEDYNAMIC() {
- }
-
-
- public INVOKEDYNAMIC(final int index) {
- super(Const.INVOKEDYNAMIC, index);
- }
-
-
- /**
- * Dump instruction as byte code to stream out.
- * @param out Output stream
- */
- @Override
- public void dump( final DataOutputStream out ) throws IOException {
- out.writeByte(super.getOpcode());
- out.writeShort(super.getIndex());
- out.writeByte(0);
- out.writeByte(0);
- }
-
-
- /**
- * Read needed data (i.e., index) from file.
- */
- @Override
- protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
- super.initFromFile(bytes, wide);
- super.setLength(5);
- bytes.readByte(); // Skip 0 byte
- bytes.readByte(); // Skip 0 byte
- }
-
-
- /**
- * @return mnemonic for instruction with symbolic references resolved
- */
- @Override
- public String toString( final ConstantPool cp ) {
- return super.toString(cp);
- }
-
-
- @Override
- public Class>[] getExceptions() {
- return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_INTERFACE_METHOD_RESOLUTION,
- ExceptionConst.UNSATISFIED_LINK_ERROR,
- ExceptionConst.ABSTRACT_METHOD_ERROR,
- ExceptionConst.ILLEGAL_ACCESS_ERROR,
- ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- @Override
- public void accept( final Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitStackConsumer(this);
- v.visitStackProducer(this);
- v.visitLoadClass(this);
- v.visitCPInstruction(this);
- v.visitFieldOrMethod(this);
- v.visitInvokeInstruction(this);
- v.visitINVOKEDYNAMIC(this);
- }
-
- /**
- * Override the parent method because our classname is held elsewhere.
- */
- @Override
- public String getClassName( final ConstantPoolGen cpg ) {
- final ConstantPool cp = cpg.getConstantPool();
- final ConstantInvokeDynamic cid = (ConstantInvokeDynamic) cp.getConstant(super.getIndex(), Const.CONSTANT_InvokeDynamic);
- return ((ConstantNameAndType) cp.getConstant(cid.getNameAndTypeIndex())).getName(cp);
- }
-
-
- /**
- * Since InvokeDynamic doesn't refer to a reference type, just return java.lang.Object,
- * as that is the only type we can say for sure the reference will be.
- *
- * @param cpg
- * the ConstantPoolGen used to create the instruction
- * @return an ObjectType for java.lang.Object
- * @since 6.1
- */
- @Override
- public ReferenceType getReferenceType(final ConstantPoolGen cpg) {
- return new ObjectType(Object.class.getName());
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.ExceptionConst;
+import org.apache.bcel.classfile.ConstantInvokeDynamic;
+import org.apache.bcel.classfile.ConstantNameAndType;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * Class for INVOKEDYNAMIC. Not an instance of InvokeInstruction, since that class
+ * expects to be able to get the class of the method. Ignores the bootstrap
+ * mechanism entirely.
+ *
+ * @version $Id: InvokeInstruction.java 1152072 2011-07-29 01:54:05Z dbrosius $
+ * @see
+ *
+ * The invokedynamic instruction in The Java Virtual Machine Specification
+ * @since 6.0
+ */
+public class INVOKEDYNAMIC extends InvokeInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ INVOKEDYNAMIC() {
+ }
+
+
+ public INVOKEDYNAMIC(final int index) {
+ super(Const.INVOKEDYNAMIC, index);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(super.getOpcode());
+ out.writeShort(super.getIndex());
+ out.writeByte(0);
+ out.writeByte(0);
+ }
+
+
+ /**
+ * Read needed data (i.e., index) from file.
+ */
+ @Override
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ super.initFromFile(bytes, wide);
+ super.setLength(5);
+ bytes.readByte(); // Skip 0 byte
+ bytes.readByte(); // Skip 0 byte
+ }
+
+
+ /**
+ * @return mnemonic for instruction with symbolic references resolved
+ */
+ @Override
+ public String toString( final ConstantPool cp ) {
+ return super.toString(cp);
+ }
+
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_INTERFACE_METHOD_RESOLUTION,
+ ExceptionConst.UNSATISFIED_LINK_ERROR,
+ ExceptionConst.ABSTRACT_METHOD_ERROR,
+ ExceptionConst.ILLEGAL_ACCESS_ERROR,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitStackProducer(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitInvokeInstruction(this);
+ v.visitINVOKEDYNAMIC(this);
+ }
+
+ /**
+ * Override the parent method because our classname is held elsewhere.
+ */
+ @Override
+ public String getClassName( final ConstantPoolGen cpg ) {
+ final ConstantPool cp = cpg.getConstantPool();
+ final ConstantInvokeDynamic cid = (ConstantInvokeDynamic) cp.getConstant(super.getIndex(), Const.CONSTANT_InvokeDynamic);
+ return ((ConstantNameAndType) cp.getConstant(cid.getNameAndTypeIndex())).getName(cp);
+ }
+
+
+ /**
+ * Since InvokeDynamic doesn't refer to a reference type, just return java.lang.Object,
+ * as that is the only type we can say for sure the reference will be.
+ *
+ * @param cpg
+ * the ConstantPoolGen used to create the instruction
+ * @return an ObjectType for java.lang.Object
+ * @since 6.1
+ */
+ @Override
+ public ReferenceType getReferenceType(final ConstantPoolGen cpg) {
+ return new ObjectType(Object.class.getName());
+ }
+}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/InvokeInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/InvokeInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/InvokeInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/InvokeInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -33,8 +33,8 @@
StackConsumer, StackProducer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
InvokeInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKEINTERFACE.java bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKEINTERFACE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKEINTERFACE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKEINTERFACE.java 2017-12-08 19:13:53.000000000 +0000
@@ -40,8 +40,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
INVOKEINTERFACE() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKESPECIAL.java bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKESPECIAL.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKESPECIAL.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKESPECIAL.java 2017-12-08 19:13:53.000000000 +0000
@@ -37,8 +37,8 @@
public class INVOKESPECIAL extends InvokeInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
INVOKESPECIAL() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKESTATIC.java bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKESTATIC.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKESTATIC.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKESTATIC.java 2017-12-08 19:13:53.000000000 +0000
@@ -36,8 +36,8 @@
public class INVOKESTATIC extends InvokeInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
INVOKESTATIC() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKEVIRTUAL.java bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKEVIRTUAL.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/INVOKEVIRTUAL.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/INVOKEVIRTUAL.java 2017-12-08 19:13:53.000000000 +0000
@@ -36,8 +36,8 @@
public class INVOKEVIRTUAL extends InvokeInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
INVOKEVIRTUAL() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ISTORE.java bcel-6.2/src/main/java/org/apache/bcel/generic/ISTORE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ISTORE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ISTORE.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class ISTORE extends StoreInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ISTORE() {
super(org.apache.bcel.Const.ISTORE, org.apache.bcel.Const.ISTORE_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/JsrInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/JsrInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/JsrInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/JsrInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -31,8 +31,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
JsrInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/JSR.java bcel-6.2/src/main/java/org/apache/bcel/generic/JSR.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/JSR.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/JSR.java 2017-12-08 19:13:53.000000000 +0000
@@ -28,8 +28,8 @@
public class JSR extends JsrInstruction implements VariableLengthInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
JSR() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/JSR_W.java bcel-6.2/src/main/java/org/apache/bcel/generic/JSR_W.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/JSR_W.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/JSR_W.java 2017-12-08 19:13:53.000000000 +0000
@@ -30,8 +30,8 @@
public class JSR_W extends JsrInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
JSR_W() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LCONST.java bcel-6.2/src/main/java/org/apache/bcel/generic/LCONST.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LCONST.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LCONST.java 2017-12-08 19:13:53.000000000 +0000
@@ -30,8 +30,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
LCONST() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LDC2_W.java bcel-6.2/src/main/java/org/apache/bcel/generic/LDC2_W.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LDC2_W.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LDC2_W.java 2017-12-08 19:13:53.000000000 +0000
@@ -27,8 +27,8 @@
public class LDC2_W extends CPInstruction implements PushInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
LDC2_W() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LDC.java bcel-6.2/src/main/java/org/apache/bcel/generic/LDC.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LDC.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LDC.java 2017-12-08 19:13:53.000000000 +0000
@@ -33,8 +33,8 @@
public class LDC extends CPInstruction implements PushInstruction, ExceptionThrower {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
LDC() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LDC_W.java bcel-6.2/src/main/java/org/apache/bcel/generic/LDC_W.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LDC_W.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LDC_W.java 2017-12-08 19:13:53.000000000 +0000
@@ -31,8 +31,8 @@
public class LDC_W extends LDC {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
LDC_W() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LLOAD.java bcel-6.2/src/main/java/org/apache/bcel/generic/LLOAD.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LLOAD.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LLOAD.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class LLOAD extends LoadInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
LLOAD() {
super(org.apache.bcel.Const.LLOAD, org.apache.bcel.Const.LLOAD_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LoadInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/LoadInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LoadInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LoadInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public abstract class LoadInstruction extends LocalVariableInstruction implements PushInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
* tag and length are defined in readInstruction and initFromFile, respectively.
*/
LoadInstruction(final short canon_tag, final short c_tag) {
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LocalVariableGen.java bcel-6.2/src/main/java/org/apache/bcel/generic/LocalVariableGen.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LocalVariableGen.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LocalVariableGen.java 2017-12-08 19:13:53.000000000 +0000
@@ -38,6 +38,7 @@
private InstructionHandle start;
private InstructionHandle end;
private int orig_index; // never changes; used to match up with LocalVariableTypeTable entries
+ private boolean live_to_end;
/**
@@ -61,6 +62,7 @@
setStart(start);
setEnd(end);
this.orig_index = index;
+ this.live_to_end = end == null;
}
@@ -88,11 +90,11 @@
* This relies on that the instruction list has already been dumped to byte code or
* or that the `setPositions' methods has been called for the instruction list.
*
- * Note that for local variables whose scope end at the last
- * instruction of the method's code, the JVM specification is ambiguous:
- * both a start_pc+length ending at the last instruction and
- * start_pc+length ending at first index beyond the end of the code are
- * valid.
+ * Note that due to the conversion from byte code offset to InstructionHandle,
+ * it is impossible to tell the difference between a live range that ends BEFORE
+ * the last insturction of the method or a live range that ends AFTER the last
+ * instruction of the method. Hence the live_to_end flag to differentiate
+ * between these two cases.
*
* @param cp constant pool
*/
@@ -102,7 +104,7 @@
if ((start != null) && (end != null)) {
start_pc = start.getPosition();
length = end.getPosition() - start_pc;
- if (end.getNext() == null) {
+ if ((end.getNext() == null) && live_to_end) {
length += end.getInstruction().getLength();
}
}
@@ -128,6 +130,16 @@
}
+ public void setLiveToEnd( final boolean live_to_end) {
+ this.live_to_end = live_to_end;
+ }
+
+
+ public boolean getLiveToEnd() {
+ return live_to_end;
+ }
+
+
@Override
public void setName( final String name ) {
this.name = name;
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -47,8 +47,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
* tag and length are defined in readInstruction and initFromFile, respectively.
*/
LocalVariableInstruction(final short canon_tag, final short c_tag) {
@@ -59,8 +59,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Also used by IINC()!
+ * Empty constructor needed for Instruction.readInstruction.
+ * Also used by IINC()!
*/
LocalVariableInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LOOKUPSWITCH.java bcel-6.2/src/main/java/org/apache/bcel/generic/LOOKUPSWITCH.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LOOKUPSWITCH.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LOOKUPSWITCH.java 2017-12-08 19:13:53.000000000 +0000
@@ -31,8 +31,8 @@
public class LOOKUPSWITCH extends Select {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
LOOKUPSWITCH() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/LSTORE.java bcel-6.2/src/main/java/org/apache/bcel/generic/LSTORE.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/LSTORE.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/LSTORE.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public class LSTORE extends StoreInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
LSTORE() {
super(org.apache.bcel.Const.LSTORE, org.apache.bcel.Const.LSTORE_0);
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/MethodGen.java bcel-6.2/src/main/java/org/apache/bcel/generic/MethodGen.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/MethodGen.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/MethodGen.java 2017-12-08 19:13:53.000000000 +0000
@@ -130,10 +130,10 @@
setConstantPool(cp);
final boolean abstract_ = isAbstract() || isNative();
InstructionHandle start = null;
- InstructionHandle end = null;
+ final InstructionHandle end = null;
if (!abstract_) {
start = il.getStart();
- end = il.getEnd();
+ // end == null => live to end of method
/* Add local variables, namely the implicit `this' and the arguments
*/
if (!isStatic() && (class_name != null)) { // Instance method -> `this' is local var 0
@@ -617,13 +617,13 @@
*/
public void addParameterAnnotationsAsAttribute(final ConstantPoolGen cp) {
if (!hasParameterAnnotations) {
- return;
- }
- final Attribute[] attrs = AnnotationEntryGen.getParameterAnnotationAttributes(cp,param_annotations);
- if (attrs!=null) {
- for (final Attribute attr : attrs) {
- addAttribute(attr);
+ return;
}
+ final Attribute[] attrs = AnnotationEntryGen.getParameterAnnotationAttributes(cp,param_annotations);
+ if (attrs != null) {
+ for (final Attribute attr : attrs) {
+ addAttribute(attr);
+ }
}
}
@@ -720,14 +720,12 @@
removeLocalVariables();
for (final LocalVariable l : lv) {
InstructionHandle start = il.findHandle(l.getStartPC());
- InstructionHandle end = il.findHandle(l.getStartPC() + l.getLength());
+ final InstructionHandle end = il.findHandle(l.getStartPC() + l.getLength());
// Repair malformed handles
if (null == start) {
start = il.getStart();
}
- if (null == end) {
- end = il.getEnd();
- }
+ // end == null => live to end of method
// Since we are recreating the LocalVaraible, we must
// propagate the orig_index to new copy.
addLocalVariable(l.getName(), Type.getType(l.getSignature()), l
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/MULTIANEWARRAY.java bcel-6.2/src/main/java/org/apache/bcel/generic/MULTIANEWARRAY.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/MULTIANEWARRAY.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/MULTIANEWARRAY.java 2017-12-08 19:13:53.000000000 +0000
@@ -37,8 +37,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
MULTIANEWARRAY() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/NEWARRAY.java bcel-6.2/src/main/java/org/apache/bcel/generic/NEWARRAY.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/NEWARRAY.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/NEWARRAY.java 2017-12-08 19:13:53.000000000 +0000
@@ -37,8 +37,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
NEWARRAY() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/NEW.java bcel-6.2/src/main/java/org/apache/bcel/generic/NEW.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/NEW.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/NEW.java 2017-12-08 19:13:53.000000000 +0000
@@ -29,8 +29,8 @@
ExceptionThrower, StackProducer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
NEW() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/PUTFIELD.java bcel-6.2/src/main/java/org/apache/bcel/generic/PUTFIELD.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/PUTFIELD.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/PUTFIELD.java 2017-12-08 19:13:53.000000000 +0000
@@ -31,8 +31,8 @@
public class PUTFIELD extends FieldInstruction implements PopInstruction, ExceptionThrower {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
PUTFIELD() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/PUTSTATIC.java bcel-6.2/src/main/java/org/apache/bcel/generic/PUTSTATIC.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/PUTSTATIC.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/PUTSTATIC.java 2017-12-08 19:13:53.000000000 +0000
@@ -31,8 +31,8 @@
public class PUTSTATIC extends FieldInstruction implements ExceptionThrower, PopInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
PUTSTATIC() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/RET.java bcel-6.2/src/main/java/org/apache/bcel/generic/RET.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/RET.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/RET.java 2017-12-08 19:13:53.000000000 +0000
@@ -36,8 +36,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
RET() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/ReturnInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/ReturnInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/ReturnInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/ReturnInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -29,8 +29,8 @@
TypedInstruction, StackConsumer {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
ReturnInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/Select.java bcel-6.2/src/main/java/org/apache/bcel/generic/Select.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/Select.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/Select.java 2017-12-08 19:13:53.000000000 +0000
@@ -73,8 +73,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
Select() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/SIPUSH.java bcel-6.2/src/main/java/org/apache/bcel/generic/SIPUSH.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/SIPUSH.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/SIPUSH.java 2017-12-08 19:13:53.000000000 +0000
@@ -35,8 +35,8 @@
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
SIPUSH() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/StackInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/StackInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/StackInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/StackInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -25,8 +25,8 @@
public abstract class StackInstruction extends Instruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
StackInstruction() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/StoreInstruction.java bcel-6.2/src/main/java/org/apache/bcel/generic/StoreInstruction.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/StoreInstruction.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/StoreInstruction.java 2017-12-08 19:13:53.000000000 +0000
@@ -26,8 +26,8 @@
public abstract class StoreInstruction extends LocalVariableInstruction implements PopInstruction {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
* tag and length are defined in readInstruction and initFromFile, respectively.
*/
StoreInstruction(final short canon_tag, final short c_tag) {
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/generic/TABLESWITCH.java bcel-6.2/src/main/java/org/apache/bcel/generic/TABLESWITCH.java
--- bcel-6.1/src/main/java/org/apache/bcel/generic/TABLESWITCH.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/generic/TABLESWITCH.java 2017-12-08 19:13:53.000000000 +0000
@@ -31,8 +31,8 @@
public class TABLESWITCH extends Select {
/**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
*/
TABLESWITCH() {
}
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/verifier/statics/DOUBLE_Upper.java bcel-6.2/src/main/java/org/apache/bcel/verifier/statics/DOUBLE_Upper.java
--- bcel-6.1/src/main/java/org/apache/bcel/verifier/statics/DOUBLE_Upper.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/verifier/statics/DOUBLE_Upper.java 2017-12-08 19:13:53.000000000 +0000
@@ -32,7 +32,7 @@
/** The constructor; this class must not be instantiated from the outside. */
private DOUBLE_Upper() {
- super(Const.T_UNKNOWN, "Long_Upper");
+ super(Const.T_UNKNOWN, "Double_Upper");
}
/** Use this method to get the single instance of this class. */
diff -Nru bcel-6.1/src/main/java/org/apache/bcel/verifier/VerificationResult.java bcel-6.2/src/main/java/org/apache/bcel/verifier/VerificationResult.java
--- bcel-6.1/src/main/java/org/apache/bcel/verifier/VerificationResult.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/main/java/org/apache/bcel/verifier/VerificationResult.java 2017-12-08 19:13:53.000000000 +0000
@@ -70,7 +70,7 @@
/**
- * Returns one one the {@link #VERIFIED_OK}, {@link #VERIFIED_NOTYET},
+ * Returns one of the {@link #VERIFIED_OK}, {@link #VERIFIED_NOTYET},
* {@link #VERIFIED_REJECTED} constants.
*/
public int getStatus() {
diff -Nru bcel-6.1/src/site/xdoc/download_bcel.xml bcel-6.2/src/site/xdoc/download_bcel.xml
--- bcel-6.1/src/site/xdoc/download_bcel.xml 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/site/xdoc/download_bcel.xml 2017-12-08 19:13:53.000000000 +0000
@@ -111,32 +111,32 @@
-
+
diff -Nru bcel-6.1/src/site/xdoc/issue-tracking.xml bcel-6.2/src/site/xdoc/issue-tracking.xml
--- bcel-6.1/src/site/xdoc/issue-tracking.xml 1970-01-01 00:00:00.000000000 +0000
+++ bcel-6.2/src/site/xdoc/issue-tracking.xml 2017-12-08 19:13:53.000000000 +0000
@@ -0,0 +1,102 @@
+
+
+
+
+
+ Apache Commons BCEL Issue tracking
+ Apache Commons Documentation Team
+
+
+
+
+
+ Apache Commons BCEL uses ASF JIRA for tracking issues.
+ See the Apache Commons BCEL JIRA project page.
+
+
+
+ To use JIRA you may need to create an account
+ (if you have previously created/updated Commons issues using Bugzilla an account will have been automatically
+ created and you can use the Forgot Password
+ page to get a new password).
+
+
+
+ If you would like to report a bug, or raise an enhancement request with
+ Apache Commons BCEL please do the following:
+
+ - Search existing open bugs.
+ If you find your issue listed then please add a comment with your details.
+ - Search the mailing list archive(s).
+ You may find your issue or idea has already been discussed.
+ - Decide if your issue is a bug or an enhancement.
+ - Submit either a bug report
+ or enhancement request.
+
+
+
+
+ Please also remember these points:
+
+ - the more information you provide, the better we can help you
+ - test cases are vital, particularly for any proposed enhancements
+ - the developers of Apache Commons BCEL are all unpaid volunteers
+
+
+
+
+ For more information on subversion and creating patches see the
+ Apache Contributors Guide.
+
+
+
+ You may also find these links useful:
+
+
+
+
+
diff -Nru bcel-6.1/src/site/xdoc/mail-lists.xml bcel-6.2/src/site/xdoc/mail-lists.xml
--- bcel-6.1/src/site/xdoc/mail-lists.xml 1970-01-01 00:00:00.000000000 +0000
+++ bcel-6.2/src/site/xdoc/mail-lists.xml 2017-12-08 19:13:53.000000000 +0000
@@ -0,0 +1,205 @@
+
+
+
+
+
+ Apache Commons BCEL Mailing Lists
+ Apache Commons Documentation Team
+
+
+
+
+
+ Apache Commons BCEL shares mailing lists with all the other
+ Commons Components.
+ To make it easier for people to only read messages related to components they are interested in,
+ the convention in Commons is to prefix the subject line of messages with the component's name,
+ for example:
+
+ - [bcel] Problem with the ...
+
+
+
+ Questions related to the usage of Apache Commons BCEL should be posted to the
+ User List.
+
+ The Developer List
+ is for questions and discussion related to the development of Apache Commons BCEL.
+
+ Please do not cross-post; developers are also subscribed to the user list.
+
+ You must be subscribed to post to the mailing lists. Follow the Subscribe links below
+ to subscribe.
+
+
+ Note: please don't send patches or attachments to any of the mailing lists.
+ Patches are best handled via the Issue Tracking system.
+ Otherwise, please upload the file to a public server and include the URL in the mail.
+
+
+
+
+
+ Please prefix the subject line of any messages for Apache Commons BCEL
+ with [bcel] - thanks!
+
+
+
+
+
+
+
+
+
+ Other mailing lists which you may find useful include:
+
+
+
+
+
+
+
diff -Nru bcel-6.1/src/test/java/org/apache/bcel/data/PLSETestClass2.java bcel-6.2/src/test/java/org/apache/bcel/data/PLSETestClass2.java
--- bcel-6.1/src/test/java/org/apache/bcel/data/PLSETestClass2.java 1970-01-01 00:00:00.000000000 +0000
+++ bcel-6.2/src/test/java/org/apache/bcel/data/PLSETestClass2.java 2017-12-08 19:13:53.000000000 +0000
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.bcel.data;
+
+public class PLSETestClass2
+{
+ public static void main(final String args[]) {
+ int t = 0;
+
+ for (int i = 0; i < 100; i++) {
+ t += i;
+ }
+ }
+}
diff -Nru bcel-6.1/src/test/java/org/apache/bcel/generic/JDKGenericDumpTestCase.java bcel-6.2/src/test/java/org/apache/bcel/generic/JDKGenericDumpTestCase.java
--- bcel-6.1/src/test/java/org/apache/bcel/generic/JDKGenericDumpTestCase.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/test/java/org/apache/bcel/generic/JDKGenericDumpTestCase.java 2017-12-08 19:13:53.000000000 +0000
@@ -45,17 +45,38 @@
import com.sun.jna.platform.win32.Advapi32Util;
/**
- * Test that the generic dump() methods work on the JDK classes Reads each class
- * into an instruction list and then dumps the instructions. The output bytes
- * should be the same as the input.
+ * Test that the generic dump() methods work on the JDK classes Reads each class into an instruction list and then dumps
+ * the instructions. The output bytes should be the same as the input.
*/
@RunWith(Parameterized.class)
public class JDKGenericDumpTestCase {
+ private static final char[] hexArray = "0123456789ABCDEF".toCharArray();
+
private static final String KEY_JDK = "SOFTWARE\\JavaSoft\\Java Development Kit";
+ private static final String KEY_JDK_9 = "SOFTWARE\\JavaSoft\\JDK";
+
private static final String KEY_JRE = "SOFTWARE\\JavaSoft\\Java Runtime Environment";
+ private static final String KEY_JRE_9 = "SOFTWARE\\JavaSoft\\JRE";
+
+ private static void addAllJavaHomesOnWindows(final String keyJre, final Set javaHomes) {
+ javaHomes.addAll(findJavaHomesOnWindows(keyJre, Advapi32Util.registryGetKeys(HKEY_LOCAL_MACHINE, keyJre)));
+ }
+
+ private static String bytesToHex(final byte[] bytes) {
+ final char[] hexChars = new char[bytes.length * 3];
+ int i = 0;
+ for (final byte b : bytes) {
+ final int v = b & 0xFF;
+ hexChars[i++] = hexArray[v >>> 4];
+ hexChars[i++] = hexArray[v & 0x0F];
+ hexChars[i++] = ' ';
+ }
+ return new String(hexChars);
+ }
+
@Parameters(name = "{0}")
public static Collection data() {
return findJavaHomes();
@@ -71,20 +92,20 @@
}
private static Set findJavaHomesOnWindows() {
- Set javaHomes = new HashSet<>();
- final String[] jreKeys = Advapi32Util.registryGetKeys(HKEY_LOCAL_MACHINE, KEY_JRE);
- javaHomes = findJavaHomesOnWindows(jreKeys);
- final String[] jdkKeys = Advapi32Util.registryGetKeys(HKEY_LOCAL_MACHINE, KEY_JDK);
- javaHomes.addAll(findJavaHomesOnWindows(jdkKeys));
+ final Set javaHomes = new HashSet<>();
+ addAllJavaHomesOnWindows(KEY_JRE, javaHomes);
+ addAllJavaHomesOnWindows(KEY_JRE_9, javaHomes);
+ addAllJavaHomesOnWindows(KEY_JDK, javaHomes);
+ addAllJavaHomesOnWindows(KEY_JDK_9, javaHomes);
return javaHomes;
}
- private static Set findJavaHomesOnWindows(final String[] keys) {
+ private static Set findJavaHomesOnWindows(final String keyJavaHome, final String[] keys) {
final Set javaHomes = new HashSet<>(keys.length);
for (final String key : keys) {
- if (Advapi32Util.registryKeyExists(HKEY_LOCAL_MACHINE, KEY_JRE + "\\" + key)) {
- final String javaHome = Advapi32Util.registryGetStringValue(HKEY_LOCAL_MACHINE, KEY_JRE + "\\" + key,
- "JavaHome");
+ if (Advapi32Util.registryKeyExists(HKEY_LOCAL_MACHINE, keyJavaHome + "\\" + key)) {
+ final String javaHome = Advapi32Util.registryGetStringValue(HKEY_LOCAL_MACHINE,
+ keyJavaHome + "\\" + key, "JavaHome");
if (StringUtils.isNoneBlank(javaHome)) {
if (new File(javaHome).exists()) {
javaHomes.add(javaHome);
@@ -95,41 +116,10 @@
return javaHomes;
}
- public JDKGenericDumpTestCase(final String javaHome) {
- this.javaHome = javaHome;
- }
-
private final String javaHome;
- @Test
- public void testJDKjars() throws Exception {
- final File[] jars = listJDKjars();
- if (jars != null) {
- for (final File file : jars) {
- testJar(file);
- }
- }
- }
-
- private void testJar(final File file) throws Exception {
- System.out.println(file);
- try (JarFile jar = new JarFile(file)) {
- final Enumeration en = jar.entries();
- while (en.hasMoreElements()) {
- final JarEntry e = en.nextElement();
- final String name = e.getName();
- if (name.endsWith(".class")) {
- // System.out.println("- " + name);
- try (InputStream in = jar.getInputStream(e)) {
- final ClassParser parser = new ClassParser(in, name);
- final JavaClass jc = parser.parse();
- for (final Method m : jc.getMethods()) {
- compare(name, m);
- }
- }
- }
- }
- }
+ public JDKGenericDumpTestCase(final String javaHome) {
+ this.javaHome = javaHome;
}
private void compare(final String name, final Method m) {
@@ -164,17 +154,34 @@
});
}
- private static final char[] hexArray = "0123456789ABCDEF".toCharArray();
+ private void testJar(final File file) throws Exception {
+ System.out.println(file);
+ try (JarFile jar = new JarFile(file)) {
+ final Enumeration en = jar.entries();
+ while (en.hasMoreElements()) {
+ final JarEntry e = en.nextElement();
+ final String name = e.getName();
+ if (name.endsWith(".class")) {
+ // System.out.println("- " + name);
+ try (InputStream in = jar.getInputStream(e)) {
+ final ClassParser parser = new ClassParser(in, name);
+ final JavaClass jc = parser.parse();
+ for (final Method m : jc.getMethods()) {
+ compare(name, m);
+ }
+ }
+ }
+ }
+ }
+ }
- private static String bytesToHex(final byte[] bytes) {
- final char[] hexChars = new char[bytes.length * 3];
- int i = 0;
- for (final byte b : bytes) {
- final int v = b & 0xFF;
- hexChars[i++] = hexArray[v >>> 4];
- hexChars[i++] = hexArray[v & 0x0F];
- hexChars[i++] = ' ';
+ @Test
+ public void testJDKjars() throws Exception {
+ final File[] jars = listJDKjars();
+ if (jars != null) {
+ for (final File file : jars) {
+ testJar(file);
+ }
}
- return new String(hexChars);
}
}
diff -Nru bcel-6.1/src/test/java/org/apache/bcel/PLSETestCase.java bcel-6.2/src/test/java/org/apache/bcel/PLSETestCase.java
--- bcel-6.1/src/test/java/org/apache/bcel/PLSETestCase.java 2017-09-18 08:48:36.000000000 +0000
+++ bcel-6.2/src/test/java/org/apache/bcel/PLSETestCase.java 2017-12-08 19:13:53.000000000 +0000
@@ -19,6 +19,7 @@
package org.apache.bcel;
import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.classfile.LocalVariable;
import org.apache.bcel.classfile.LocalVariableTable;
import org.apache.bcel.classfile.Method;
import org.apache.bcel.generic.ClassGen;
@@ -86,4 +87,23 @@
final String cn = ii.getClassName(pool);
assertEquals("[Lorg.apache.bcel.data.PLSETestEnum;", cn);
}
+
+ /**
+ * BCEL-295:
+ */
+ public void testB295() throws Exception
+ {
+ final JavaClass clazz = getTestClass(PACKAGE_BASE_NAME+".data.PLSETestClass2");
+ final ClassGen cg = new ClassGen(clazz);
+ final ConstantPoolGen pool = cg.getConstantPool();
+ final Method m = cg.getMethodAt(1); // 'main'
+ final LocalVariableTable lvt = m.getLocalVariableTable();
+ final LocalVariable lv = lvt.getLocalVariable(2, 4); // 'i'
+ //System.out.println(lv);
+ final MethodGen mg = new MethodGen(m, cg.getClassName(), pool);
+ final LocalVariableTable new_lvt = mg.getLocalVariableTable(mg.getConstantPool());
+ final LocalVariable new_lv = new_lvt.getLocalVariable(2, 4); // 'i'
+ //System.out.println(new_lv);
+ assertEquals("live range length", lv.getLength(), new_lv.getLength());
+ }
}