From: Andy Clement Date: Wed, 27 Sep 2017 21:44:32 +0000 (-0700) Subject: Pass explicitly whether it is an interface target X-Git-Tag: V1_9_0_RC3~2^2~50 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=40fa8c710f916d3b44a8d133fc15b70f3cad813c;p=aspectj.git Pass explicitly whether it is an interface target If you only let it determine it from the INVOKE instruction this can make a mistake when using INVOKESTATIC with an interface target. --- diff --git a/weaver/src/org/aspectj/weaver/bcel/Utility.java b/weaver/src/org/aspectj/weaver/bcel/Utility.java index afbfbc7ef..cd1fd4ab8 100644 --- a/weaver/src/org/aspectj/weaver/bcel/Utility.java +++ b/weaver/src/org/aspectj/weaver/bcel/Utility.java @@ -212,7 +212,7 @@ public class Utility { kind = Constants.INVOKEVIRTUAL; } - return fact.createInvoke(m.getClassName(), m.getName(), m.getReturnType(), m.getArgumentTypes(), kind); + return fact.createInvoke(m.getClassName(), m.getName(), m.getReturnType(), m.getArgumentTypes(), kind, m.getEnclosingClass().isInterface()); } /**