[jboss-cvs] JBossAS SVN: r68838 - in projects/aop/trunk/aop/src/main/org/jboss/aop: standalone and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 10 14:51:54 EST 2008
Author: flavia.rainone
Date: 2008-01-10 14:51:54 -0500 (Thu, 10 Jan 2008)
New Revision: 68838
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedCallerInvocations.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructionInvocations.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructorInvocations.java
projects/aop/trunk/aop/src/main/org/jboss/aop/standalone/Compiler.java
Log:
[JBAOP-256] Bug fixed.
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedCallerInvocations.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedCallerInvocations.java 2008-01-10 19:47:59 UTC (rev 68837)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedCallerInvocations.java 2008-01-10 19:51:54 UTC (rev 68838)
@@ -112,7 +112,7 @@
////////////////
//Create the class
CtClass invocation = makeInvocationClass(pool,
- Modifier.isPrivate(method.getModifiers()), callingClass, className,
+ true /*Modifier.isPrivate(method.getModifiers())*/, callingClass, className,
methodInvocation);
////////////////
@@ -163,7 +163,7 @@
////////////////
//Create the class
CtClass invocation = makeInvocationClass(pool,
- Modifier.isPrivate(con.getModifiers()), callingClass, className,
+ /*Modifier.isPrivate(con.getModifiers())*/ true, callingClass, className,
conInvocation);
////////////////
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructionInvocations.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructionInvocations.java 2008-01-10 19:47:59 UTC (rev 68837)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructionInvocations.java 2008-01-10 19:51:54 UTC (rev 68838)
@@ -48,7 +48,7 @@
*/
protected static String getOptimizedInvocationClassName(CtClass declaringClazz, int constructorIndex)
{
- return declaringClazz.getName() + constructorIndex + "OptimizedConstructionInvocation";
+ return declaringClazz.getName() + ".AOP" + constructorIndex + "OptimizedConstructionInvocation";
}
protected static String createOptimizedInvocationClass(
@@ -61,7 +61,7 @@
////////////////
//Create the class
String className = getOptimizedInvocationClassName(clazz, index);
- boolean makeInnerClass = !Modifier.isPublic(con.getModifiers());
+ boolean makeInnerClass = true; //!Modifier.isPublic(con.getModifiers());
CtClass invocation = makeInvocationClassNoCtors(pool, makeInnerClass, clazz,
className, conInvocation);
CtConstructor template = null;
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructorInvocations.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructorInvocations.java 2008-01-10 19:47:59 UTC (rev 68837)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/OptimizedConstructorInvocations.java 2008-01-10 19:51:54 UTC (rev 68838)
@@ -49,7 +49,7 @@
*/
protected static String getOptimizedInvocationClassName(CtClass declaringClazz, int constructorIndex)
{
- return declaringClazz.getName() + "_" + constructorIndex + "OptimizedConstructorInvocation";
+ return declaringClazz.getName() + ".AOP" + constructorIndex + "OptimizedConstructorInvocation";
}
protected static String createOptimizedInvocationClass(Instrumentor instrumentor,
@@ -62,7 +62,7 @@
////////////////
//Create the class
String className = getOptimizedInvocationClassName(clazz, index);
- boolean makeInnerClass = !Modifier.isPublic(con.getModifiers());
+ boolean makeInnerClass = true;//!Modifier.isPublic(con.getModifiers());
CtClass invocation = makeInvocationClassNoCtors(pool, makeInnerClass,
clazz, className, conInvocation);
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/standalone/Compiler.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/standalone/Compiler.java 2008-01-10 19:47:59 UTC (rev 68837)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/standalone/Compiler.java 2008-01-10 19:51:54 UTC (rev 68838)
@@ -258,6 +258,17 @@
private void addFile(File file)throws Exception
{
+ int index = file.getName().indexOf('$');
+ if (index != -1)
+ {
+ String fileName = file.getName().substring(0, index) + ".class";
+ File superClassFile = new File(fileName);
+ if (!loadFile(superClassFile))
+ {
+ file.delete();
+ return;
+ }
+ }
ClassFile cf = createClassFile(file);
String className = cf.getName();
String superClassName = cf.getSuperclass();
@@ -300,7 +311,13 @@
}
}
- public void loadFile(File file) throws Exception
+ /**
+ * Loads the file and, if it is an advised class, sets its advisor field as
+ * accessible.
+ * @param file the file of the class to be loaded
+ * @return {@code true} is {@code file} contains an advised class.
+ */
+ public boolean loadFile(File file) throws Exception
{
DataInputStream is = new DataInputStream(new FileInputStream(file));
ClassFile cf = new ClassFile(is);
@@ -311,7 +328,9 @@
Field f = clazz.getDeclaredField("aop$classAdvisor$aop");
f.setAccessible(true);
f.get(null);
+ return true;
}
+ return false;
}
public void compileFile(CompilerClassInfo info) throws Exception
More information about the jboss-cvs-commits
mailing list