aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2017-09-27 14:43:04 -0700
committerAndy Clement <aclement@pivotal.io>2017-09-27 14:43:04 -0700
commit7020be7deec5f90712959f0a7f7b9519b5a632c4 (patch)
tree4b1651e2415e1b0f51f0c11ef50421976fdf749e
parentaf8a6482cb4fe8f15d54e98c37187e3e70279335 (diff)
downloadaspectj-7020be7deec5f90712959f0a7f7b9519b5a632c4.tar.gz
aspectj-7020be7deec5f90712959f0a7f7b9519b5a632c4.zip
Ensure version of generated class is correct
Important to ensure we generate it of the right version as it may end up containing code derived from a particular class that needs a be run with a certain level of verifier. In this case if inserting invokestatic targeting a interface method, we need to be using something later than a java 1.2 level class file.
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelShadow.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java b/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
index 10fdbd05c..6ba22ed97 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
@@ -3059,6 +3059,7 @@ public class BcelShadow extends Shadow {
LazyClassGen closureClass = new LazyClassGen(closureClassName, superClassName, getEnclosingClass().getFileName(),
Modifier.PUBLIC, new String[] {}, getWorld());
+ closureClass.setMajorMinor(getEnclosingClass().getMajor(), getEnclosingClass().getMinor());
InstructionFactory fact = new InstructionFactory(closureClass.getConstantPool());
// constructor