aboutsummaryrefslogtreecommitdiffstats
path: root/weaver/src
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2016-03-29 10:01:01 -0700
committerAndy Clement <aclement@pivotal.io>2016-03-29 10:01:01 -0700
commit9eae797dd9c96826c7ab23f1ed9d3c26552c5c88 (patch)
tree88638bcdfa00f10d06cbf1a46d88ca247a5a89fc /weaver/src
parentca093c254584afa382d073abe04144e968cdbccb (diff)
downloadaspectj-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.java5
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