Преглед изворни кода

fix for pr104220 - poor toString implementations for adviceexecution join points.

tags/V1_5_0RC1
acolyer пре 18 година
родитељ
комит
c439e32628

BIN
lib/aspectj/lib/aspectjrt.jar Прегледај датотеку


BIN
lib/test/aspectjrt.jar Прегледај датотеку


+ 1
- 1
runtime/src/org/aspectj/lang/JoinPoint.java Прегледај датотеку

@@ -177,6 +177,6 @@ public interface JoinPoint {
static String INITIALIZATION = "initialization";
static String EXCEPTION_HANDLER = "exception-handler";

static String ADVICE_EXECUTION = "advice-execution"; //??? consider this vs. pcd
static String ADVICE_EXECUTION = "adviceexecution";

}

+ 16
- 4
runtime/src/org/aspectj/runtime/reflect/AdviceSignatureImpl.java Прегледај датотеку

@@ -15,6 +15,7 @@
package org.aspectj.runtime.reflect;

import java.lang.reflect.Method;
import java.util.StringTokenizer;

import org.aspectj.lang.reflect.AdviceSignature;

@@ -43,19 +44,30 @@ class AdviceSignatureImpl extends CodeSignatureImpl implements AdviceSignature {
}

protected String createToString(StringMaker sm) {
//XXX this signature needs a lot of work
StringBuffer buf = new StringBuffer("ADVICE: ");
buf.append(sm.makeModifiersString(getModifiers()));
StringBuffer buf = new StringBuffer();
// buf.append(sm.makeModifiersString(getModifiers()));
if (sm.includeArgs) buf.append(sm.makeTypeName(getReturnType()));
if (sm.includeArgs) buf.append(" ");
buf.append(sm.makePrimaryTypeName(getDeclaringType(),getDeclaringTypeName()));
buf.append(".");
buf.append(getName());
buf.append(toAdviceName(getName()));
sm.addSignature(buf, getParameterTypes());
sm.addThrows(buf, getExceptionTypes());
return buf.toString();
}
private String toAdviceName(String methodName) {
if (methodName.indexOf('$') == -1) return methodName;
StringTokenizer strTok = new StringTokenizer(methodName,"$");
while (strTok.hasMoreTokens()) {
String token = strTok.nextToken();
if ( token.startsWith("before") ||
token.startsWith("after") ||
token.startsWith("around") ) return token;
}
return methodName;
}
/* (non-Javadoc)
* @see org.aspectj.runtime.reflect.MemberSignatureImpl#createAccessibleObject()
*/

+ 2
- 0
runtime/src/org/aspectj/runtime/reflect/StringMaker.java Прегледај датотеку

@@ -16,6 +16,8 @@ package org.aspectj.runtime.reflect;

import java.lang.reflect.Modifier;

import org.aspectj.lang.JoinPoint;

class StringMaker {
boolean shortTypeNames = true;
boolean includeArgs = true;

Loading…
Откажи
Сачувај