You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2014/03/19 19:20:29 UTC

svn commit: r1579331 - /incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java

Author: rmannibucau
Date: Wed Mar 19 18:20:29 2014
New Revision: 1579331

URL: http://svn.apache.org/r1579331
Log:
SIRONA-32 skip interface (short term fix for java 8, will be enhanced soon)

Modified:
    incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java

Modified: incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java?rev=1579331&r1=1579330&r2=1579331&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java (original)
+++ incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java Wed Mar 19 18:20:29 2014
@@ -482,6 +482,7 @@ public class SironaClassVisitor extends 
     public static class SironaKeyVisitor extends ClassVisitor implements Opcodes {
         private final String javaName;
         private final Map<String, String> keys = new HashMap<String, String>();
+        private boolean isInterface;
 
         public SironaKeyVisitor(final String javaName) {
             super(ASM4, null);
@@ -489,6 +490,12 @@ public class SironaClassVisitor extends 
         }
 
         @Override
+        public void visit(final int version, final int access, final String name,
+                          final String signature, final String supername, final String[] interfaces) {
+            this.isInterface = ((access & Opcodes.ACC_INTERFACE) != 0);
+        }
+
+        @Override
         public MethodVisitor visitMethod(int access, final String name, final String desc, final String signature, final String[] exceptions) {
             if (!isSironable(access, name)) {
                 return null;
@@ -506,7 +513,7 @@ public class SironaClassVisitor extends 
         }
 
         public boolean hasAdviced() {
-            return !keys.isEmpty();
+            return !isInterface && !keys.isEmpty();
         }
 
         public Map<String, String> getKeys() {