|
|
@@ -0,0 +1,21 @@ |
|
|
|
import org.aspectj.testing.Tester; |
|
|
|
|
|
|
|
/** @testcase subtype pattern in dominates should pick out aspect subtypes */ |
|
|
|
public class DominatesTypePatternCE { |
|
|
|
public static void main (String[] args) { |
|
|
|
String s = new C().method(); |
|
|
|
Tester.check("pass".equals(s), |
|
|
|
"\"pass\".equals(\"" + s + "\")"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
class C {} |
|
|
|
|
|
|
|
// works if A is specified explicitly |
|
|
|
abstract aspect AA { declare dominates: AA, AA+; // CE, AA is matched by both pieces |
|
|
|
public String C.method() { return "pass"; } |
|
|
|
} |
|
|
|
|
|
|
|
aspect A extends AA { |
|
|
|
public String C.method() { return "fail"; } |
|
|
|
} |