blob: 657e6355550f762f7ba511d8e63ab7cfcf007f20 (
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
|
package bugs;
import bugsOtherPackage.INode;
import bugsOtherPackage.NodeImpl;
public class ParameterizedDP {
public static void main(String[] args) {
// 1) compile-time error here without
// {unneeded} subaspect declare-parent
// Tag as INode<Tag, Tag> from PC extends NodeImpl<Tag, Tag>
((TaggedTexts.Tag) null).getParent();
}
}
class TaggedTexts {
public static class Text { }
public static class Tag { }
static aspect PC extends NodeImpl<Tag, Tag> {
// unneeded declare-parents duplicates one in NodeImpl
// when here, get spurious error message
// when commented out, d-p fails and get compiler error at 1) above
declare parents : Tag implements INode<Tag,Tag>;
}
}
|