// ---- reflective thisJoinPoint stuff
public String getSignatureMakerName() {
+ if (getName().equals("<clinit>")) return "makeInitializerSig";
+
Kind kind = getKind();
if (kind == METHOD) {
return "makeMethodSig";
public String getSignatureType() {
Kind kind = getKind();
+ if (getName().equals("<clinit>")) return "org.aspectj.lang.reflect.InitializerSignature";
+
if (kind == METHOD) {
return "org.aspectj.lang.reflect.MethodSignature";
} else if (kind == CONSTRUCTOR) {
}
public String getSignatureString(World world) {
+ if (getName().equals("<clinit>")) return getStaticInitializationSignatureString(world);
+
Kind kind = getKind();
if (kind == METHOD) {
return getMethodSignatureString(world);
int mods = mg.getAccessFlags();
if (mg.getEnclosingClass().isInterface()) {
mods |= Modifier.INTERFACE;
- }
- return new ResolvedMember(mg.getName().equals("<init>") ? Member.CONSTRUCTOR : Member.METHOD,
+ }
+
+ org.aspectj.weaver.Member.Kind kind;
+ if (mg.getName().equals("<init>")) {
+ kind = Member.CONSTRUCTOR;
+ } else if (mg.getName().equals("<clinit>")) {
+ kind = Member.STATIC_INITIALIZATION;
+ } else {
+ kind = Member.METHOD;
+ }
+
+ return new ResolvedMember(kind,
TypeX.forName(mg.getClassName()),
mods,
fromBcel(mg.getReturnType()),