blob: fa1052227d27eb7216738b5fd7498dfe2d6d35c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.util.*;
interface Item {}
interface Container {}
interface CompositeItem<T> {}
interface CompositeContainer<T extends CompositeItem> {}
public abstract aspect Broke<Item, Container> {
private C CompositeItem<C>.container;
public List<I> CompositeContainer<I>.itemList = new ArrayList<I>();
public CompositeContainer<I> CompositeContainer<I>.addItem(I i) {
itemList.add(i);
i.container = this;
return this;
}
}
|