summaryrefslogtreecommitdiffstats
path: root/tests/base/test105/Driver.java
blob: 5578c84f87df415f601c9a75a9ab3815128dc49f (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import org.aspectj.testing.Tester;

public aspect Driver {

  static boolean t1, t2, t3, t4;

  public static void main(String[] args) { test(); }

  public static void test() {

    Foo f1 = new Foo();

    f1.m1("foo");
    f1.m2(1);    
    f1.m3("foo");    
    f1.m3(1);    

    Tester.check(t1, "finding m1(String)");
    Tester.check(t2, "finding m2(int)");
    Tester.check(t3, "finding m3(String)");
    Tester.check(t4, "finding m3(int)");
  }

   before(String x): target(Foo) && call(void m1(String)) && args(x) {
      t1 = true;
  }

   before(int x): target(Foo) && call(void m2(int)) && args(x) {
      t2 = true; 
  }

   before(String x): target(Foo) && call(void m3(String)) && args(x) {
      t3 = true; 
  }

   before(int x): target(Foo) && call(void m3(int)) && args(x) {
      t4 = true; 
  }
}

class Foo {
  void m1(String x) { }
  void m2(int x) { }
  void m3(String x) { }
  void m3(int x) { }
}