blob: 56d0d4efadced923dd265cc031e2b6098ac052d1 (
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
|
import java.util.ArrayList;
interface INode<P, C> {
INode<P, C> getParent();
}
abstract aspect NodeImpl<Parent, Child> {
declare parents : Child implements INode<Parent, Child>;
declare parents : Parent implements INode<Parent, Child>;
public final INode<Parent, Child> INode.getParent() {
return null;
}
}
public class SimpleTest {
public static void main(String[] args) {
Tag tag1 = new Tag();
Tag tag2 = new Tag();
tag1.getParent();
}
}
class Tag { }
aspect X extends NodeImpl<Tag,Tag> {}
|