summaryrefslogtreecommitdiffstats
path: root/tests/java5/generics/itds/differingTargets/TargettingAspect.aj
blob: 27e5d7cc78e7e4bf8c694f9816f9fb58651ded68 (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
import java.util.*;

public aspect TargettingAspect {
  public static void main(String []argv) {
    List<Number> ns = new ArrayList<Number>();
    ns.add(5); ns.add(2); ns.add(3);

    TargettingAspect s = TargettingAspect.aspectOf();
    int total = 0 ;
    total+=s.defaultMethod(ns);
    total+=s.publicMethod(ns);
    total+=s.privateMethod(ns);
    if (total!=9) throw new RuntimeException("Result should be 9 but is "+total);
  }

  <N extends Number> int TargettingAspect.defaultMethod(List<N> ns) {
    return ns.size();
  }

  public <N extends Number> int TargettingAspect.publicMethod(List<N> ns) {
    return ns.size();
  }

  public <N extends Number> int TargettingAspect.privateMethod(List<N> ns) {
    return ns.size();
  }
}