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

class Class {}

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

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

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

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

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