Author: kohsuke
Date: Sun Sep 18 16:56:33 2005
New Revision: 290019

URL: http://svn.apache.org/viewcvs?rev=290019&view=rev
Log:
modified to avoid instrumenting a class that was already instrumented

Modified:
    
jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/bytecode/transformation/bcel/BcelClassTransformer.java

Modified: 
jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/bytecode/transformation/bcel/BcelClassTransformer.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/bytecode/transformation/bcel/BcelClassTransformer.java?rev=290019&r1=290018&r2=290019&view=diff
==============================================================================
--- 
jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/bytecode/transformation/bcel/BcelClassTransformer.java
 (original)
+++ 
jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/bytecode/transformation/bcel/BcelClassTransformer.java
 Sun Sep 18 16:56:33 2005
@@ -126,12 +126,22 @@
         log.debug("transforming class " + javaClazz.getClassName());
 
         //final JavaClass clazz = Repository.lookupClass(clazzName);
-        
+
+        {// check if this class is already instrumented
+            String[] intfs = javaClazz.getInterfaceNames();
+            for( int i=0; i<intfs.length; i++ )
+                if(intfs[i].equals(CONTINUABLE_CLASS)) {
+                    // no need to instrument further
+                    log.debug(javaClazz.getClassName()+" is already 
instrumented. Skipping");
+                    return original;
+                }
+        }
+
         final ClassGen clazzGen = new ClassGen(javaClazz);
         final ConstantPoolGen cp = clazzGen.getConstantPool();
 
         if(debug) {
-            dump(javaClazz, "orig");
+            dump(javaClazz, ".orig");
         }
 
         // vistor to build the frame information



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to