Make BCEL classpath utility recognise Java 16-19, fixing many tests
This is a follow-up commit on @07af5d41:
Inside org.aspectj.apache.bcel.util.ClassPath.getClassPath(), some JVM
version matching occurs which previously did not include Java 16 (I also
added 17-19 to the regex matcher). This fixes test errors like:
java.lang.ClassCastException:
class org.aspectj.weaver.MissingResolvedTypeWithKnownSignature
cannot be cast to class
org.aspectj.weaver.ReferenceType
(org.aspectj.weaver.MissingResolvedTypeWithKnownSignature and
org.aspectj.weaver.ReferenceType are in unnamed module
of loader 'app')
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Make BCEL classpath utility recognise Java 15, fixing many tests
Inside org.aspectj.apache.bcel.util.ClassPath.getClassPath(), some JVM
version matching occurs which previously did not include Java 15.
Technically, AspectJ 1.9.6 does not support Java 15, but on GitHub
Actions there is a build job running on a JVM 15. This change should at
least make the weaver tests pass, making that test job more meaningful.
This fixes test errors like
java.lang.ClassCastException:
class org.aspectj.weaver.MissingResolvedTypeWithKnownSignature
cannot be cast to class
org.aspectj.weaver.ReferenceType
(org.aspectj.weaver.MissingResolvedTypeWithKnownSignature and
org.aspectj.weaver.ReferenceType are in unnamed module
of loader 'app')
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Reports on declarations of Collection variables made by using the collection class as the type, rather than an appropriate interface.
Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
Some enhancements discovered whilst working on bugzilla bug 78954: Compiler cannot cope with 4000 jars on the classpath. These enhancements cause things to be done 'lazily' in BCEL.
Adding BCEL src to bcel-builder project. We change/patch BCEL more frequently than we import new versions of BCEL into AspectJ - so it makes sense to make that patching process easier than the importing process. Also the Java5 support would result in an unwieldy patch.txt file.
The ANT targets in build.xml will still enable transformation of the packaging from org.aspectj.apache to org.apache for diffing with a new BCEL version, should one ever appear.