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]