ResolverUtils.jadd 704 Bytes
Newer Older
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
aspect Utils {

  inh Root ASTNode.root();
  eq Root.getA(int i).root() = this;
  eq Root.getB(int i).root() = this;

  syn NamedElement Root.findNamedElement(String name) {
    for (A a : getAList()) {
      if (a.getName().equals(name)) {
        return a;
      }
    }
    for (B b : getBList()) {
      if (b.getName().equals(name)) {
        return b;
      }
    }
    return null;
  }

  syn A Root.findA(String name) {
    for (A a : getAList()) {
      if (a.getName().equals(name)) {
        return a;
      }
    }
    return null;
  }

  syn B Root.findB(String name) {
    for (B b : getBList()) {
      if (b.getName().equals(name)) {
        return b;
      }
    }
    return null;
  }
}