[jboss-cvs] JBossAS SVN: r81648 - projects/aop/branches/Branch_2_0/aop/src/main/org/jboss/aop/instrument.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Nov 26 11:53:24 EST 2008


Author: kabir.khan at jboss.com
Date: 2008-11-26 11:53:24 -0500 (Wed, 26 Nov 2008)
New Revision: 81648

Modified:
   projects/aop/branches/Branch_2_0/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java
Log:
[JBAOP-680] Classes woven with GeneratedAdvisorInstrument should implement the synthetic _setInstanceAdvisor method

Modified: projects/aop/branches/Branch_2_0/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java
===================================================================
--- projects/aop/branches/Branch_2_0/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java	2008-11-26 16:53:23 UTC (rev 81647)
+++ projects/aop/branches/Branch_2_0/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java	2008-11-26 16:53:24 UTC (rev 81648)
@@ -657,6 +657,33 @@
          // AutoGenerated
          throw new RuntimeException(e);
       }
+
+      //Add _setInstance method
+      body =
+         "{ " +
+         "   synchronized(this) " +
+         "   { " +
+         "      " + INSTANCE_ADVISOR + " == $1; " +
+         "   } " +
+         "}";
+      try
+      {
+         CtMethod getInstanceAdvisor = CtNewMethod.make(
+               CtClass.voidType,
+               "_setInstanceAdvisor",
+               new CtClass[] {forName("org.jboss.aop.InstanceAdvisor")},
+               new CtClass[0],
+               body,
+               clazz);
+         addSyntheticAttribute(getInstanceAdvisor);
+         clazz.addMethod(getInstanceAdvisor);
+      }
+      catch (Exception e)
+      {
+         // AutoGenerated
+         throw new RuntimeException(e);
+      }
+
    }
 
    @Override
@@ -1043,4 +1070,4 @@
          return infoName;
       }
    }
-}
\ No newline at end of file
+}




More information about the jboss-cvs-commits mailing list