Browse Source

173602 : testcode and fix for duplicate ITDs and NPE

tags/V1_6_0rc1
aclement 16 years ago
parent
commit
1a370e8668

+ 2
- 0
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java View File

@@ -83,6 +83,8 @@ public class InterTypeMethodDeclaration extends InterTypeDeclaration {
public void resolve(ClassScope upperScope) {
if (munger == null) ignoreFurtherInvestigation = true;
if (binding == null)
ignoreFurtherInvestigation = true;
if (ignoreFurtherInvestigation) return;
if (!Modifier.isStatic(declaredModifiers)) {

+ 10
- 0
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java View File

@@ -580,4 +580,14 @@ public class AjProblemReporter extends ProblemReporter {
public void setSupplementaryMessageInfo(String msg) { delegate.setSupplementaryMessageInfo(msg);}
public String getSupplementaryMessageInfo() { return delegate.getSupplementaryMessageInfo();}
}

public void duplicateMethodInType(SourceTypeBinding type, AbstractMethodDeclaration methodDecl) {
if (new String(methodDecl.selector).startsWith("ajc$interMethod")) {
// this is an ITD clash and will be reported in another way by AspectJ (173602)
return;
}
super.duplicateMethodInType(type, methodDecl);
}


}

Loading…
Cancel
Save