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

checking that parameter to after throwing isa Throwable

tags/V_1_1_b5
jhugunin пре 21 година
родитељ
комит
8bc24339ac

+ 12
- 0
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java Прегледај датотеку

@@ -72,6 +72,16 @@ public class AdviceDeclaration extends MethodDeclaration {
modifiers = binding.modifiers = checkAndSetModifiers(modifiers, upperScope);
if (kind == AdviceKind.AfterThrowing && extraArgument != null) {
TypeBinding argTb = extraArgument.binding.type;
TypeBinding expectedTb = upperScope.getJavaLangThrowable();
if (!upperScope.areTypesCompatible(argTb, expectedTb)) {
scope.problemReporter().typeMismatchError(argTb, expectedTb, extraArgument);
ignoreFurtherInvestigation = true;
return;
}
}
pointcutDesignator.finishResolveTypes(this, this.binding,
baseArgumentCount, upperScope.referenceContext.binding);
@@ -160,6 +170,8 @@ public class AdviceDeclaration extends MethodDeclaration {


public void generateCode(ClassScope classScope, ClassFile classFile) {
if (ignoreFurtherInvestigation) return;
super.generateCode(classScope, classFile);
if (proceedMethodBinding != null) {
generateProceedMethod(classScope, classFile);

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