summaryrefslogtreecommitdiffstats
path: root/tests/java5/compliance/AJ5FeaturesAtJ14.aj
blob: bc344f86b8c4d6729c2ae711bfe1af8607301a36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public aspect AJ5FeaturesAtJ14 {
	
	pointcut p1() : @annotation(Foo);
	
	pointcut p2() : @this(Foo);
	
	pointcut p3() : @target(Foo);
	
	pointcut p4() : @args(Foo);
	
	pointcut p5() : @within(Foo);
	
	pointcut p6() : @withincode(Foo);
	
	declare @type : Bar : @Foo;
	
	declare @method : * *.main() : @Foo;
	
	declare @field : * main : @Foo;
	
	declare @constructor : Bar.new(..) : @Foo;
	
	// annotations within type and signature patterns...
	
	pointcut p7() : execution(@Foo * *(..));
	
	declare parents : (@Foo *) extends Bar;
}

class Foo {}

class Bar {}