From 9eae797dd9c96826c7ab23f1ed9d3c26552c5c88 Mon Sep 17 00:00:00 2001 From: Andy Clement Date: Tue, 29 Mar 2016 10:01:01 -0700 Subject: Fix 490315 - InvokeDynamic.java:126 there is no classname for invokedynamic --- weaver/src/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'weaver') 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 -- cgit v1.2.3