Browse Source

avoid using helpers on Member hierarchy

tags/V1_6_7
aclement 14 years ago
parent
commit
8c471f187d
1 changed files with 9 additions and 8 deletions
  1. 9
    8
      weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java

+ 9
- 8
weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java View File

BcelClassWeaver classWeaver = new BcelClassWeaver(world, clazz, shadowMungers, typeMungers, lateTypeMungers); BcelClassWeaver classWeaver = new BcelClassWeaver(world, clazz, shadowMungers, typeMungers, lateTypeMungers);
classWeaver.setReweavableMode(inReweavableMode); classWeaver.setReweavableMode(inReweavableMode);
boolean b = classWeaver.weave(); boolean b = classWeaver.weave();
// System.out.println(clazz.getClassName() + ", " +
// clazz.getType().getWeaverState());
// clazz.print();
return b; return b;
} }


onType = onType.getGenericType(); onType = onType.getGenericType();
} }


if (m.getSignature().isStatic()) {
if (Modifier.isStatic(m.getSignature().getModifiers())) {
addedClassInitializers.add(cm); addedClassInitializers.add(cm);
} else { } else {
if (onType == ty.getResolvedTypeX()) { if (onType == ty.getResolvedTypeX()) {
clazz.addMethodGen(bridgeMethod); clazz.addMethodGen(bridgeMethod);
} }


// ----

/**
* Weave a class and indicate through the return value whether the class was modified.
*
* @return true if the class was modified
*/
public boolean weave() { public boolean weave() {
if (clazz.isWoven() && !clazz.isReweavable()) { if (clazz.isWoven() && !clazz.isReweavable()) {
world.showMessage(IMessage.ERROR, WeaverMessages.format(WeaverMessages.ALREADY_WOVEN, clazz.getType().getName()), ty world.showMessage(IMessage.ERROR, WeaverMessages.format(WeaverMessages.ALREADY_WOVEN, clazz.getType().getName()), ty
private static ResolvedMember isOverriding(ResolvedType typeToCheck, ResolvedMember methodThatMightBeGettingOverridden, private static ResolvedMember isOverriding(ResolvedType typeToCheck, ResolvedMember methodThatMightBeGettingOverridden,
String mname, String mrettype, int mmods, boolean inSamePackage, UnresolvedType[] methodParamsArray) { String mname, String mrettype, int mmods, boolean inSamePackage, UnresolvedType[] methodParamsArray) {
// Check if we can be an override... // Check if we can be an override...
if (methodThatMightBeGettingOverridden.isStatic()) {
if (Modifier.isStatic(methodThatMightBeGettingOverridden.getModifiers())) {
// we can't be overriding a static method // we can't be overriding a static method
return null; return null;
} }
return false; return false;
} }


boolean isPackageVisible = !Modifier.isPrivate(inheritedModifiers) && !Modifier.isProtected(inheritedModifiers) && !Modifier.isPublic(inheritedModifiers);
boolean isPackageVisible = !Modifier.isPrivate(inheritedModifiers) && !Modifier.isProtected(inheritedModifiers)
&& !Modifier.isPublic(inheritedModifiers);
if (isPackageVisible && !inSamePackage) { if (isPackageVisible && !inSamePackage) {
return false; return false;
} }

Loading…
Cancel
Save