]> source.dussan.org Git - aspectj.git/commitdiff
Pass explicitly whether it is an interface target
authorAndy Clement <aclement@pivotal.io>
Wed, 27 Sep 2017 21:44:32 +0000 (14:44 -0700)
committerAndy Clement <aclement@pivotal.io>
Wed, 27 Sep 2017 21:44:32 +0000 (14:44 -0700)
If you only let it determine it from the INVOKE instruction this
can make a mistake when using INVOKESTATIC with an interface
target.

weaver/src/org/aspectj/weaver/bcel/Utility.java

index afbfbc7ef4a8ac51fd8ff6bcaf8cdb571a354f9a..cd1fd4ab8ddd75116704dc1352a10c350f4faa15 100644 (file)
@@ -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());
        }
 
        /**