diff options
author | Andy Clement <aclement@pivotal.io> | 2016-03-29 10:01:01 -0700 |
---|---|---|
committer | Andy Clement <aclement@pivotal.io> | 2016-03-29 10:01:01 -0700 |
commit | 9eae797dd9c96826c7ab23f1ed9d3c26552c5c88 (patch) | |
tree | 88638bcdfa00f10d06cbf1a46d88ca247a5a89fc /weaver/src | |
parent | ca093c254584afa382d073abe04144e968cdbccb (diff) | |
download | aspectj-9eae797dd9c96826c7ab23f1ed9d3c26552c5c88.tar.gz aspectj-9eae797dd9c96826c7ab23f1ed9d3c26552c5c88.zip |
Fix 490315 - InvokeDynamic.java:126 there is no classname for invokedynamic
Diffstat (limited to 'weaver/src')
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java b/weaver/src/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java index 9f84596f0..b81f7ffb1 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java @@ -27,6 +27,7 @@ import org.aspectj.apache.bcel.generic.InstructionConstants; import org.aspectj.apache.bcel.generic.InstructionFactory; import org.aspectj.apache.bcel.generic.InstructionHandle; import org.aspectj.apache.bcel.generic.InstructionList; +import org.aspectj.apache.bcel.generic.InvokeDynamic; import org.aspectj.apache.bcel.generic.InvokeInstruction; import org.aspectj.apache.bcel.generic.Type; import org.aspectj.weaver.AjAttribute; @@ -138,6 +139,10 @@ public class BcelAccessForInlineMunger extends BcelTypeMunger { // open-up method call if ((inst instanceof InvokeInstruction)) { InvokeInstruction invoke = (InvokeInstruction) inst; + if (invoke instanceof InvokeDynamic) { + realizedCannotInline = true; + break; + } ResolvedType callee = aspectGen.getWorld().resolve(UnresolvedType.forName(invoke.getClassName(cpg))); // look in the whole method list and not just declared for super calls and alike |