-
chak@cse.unsw.edu.au. authored
Associated types in import lists require special care and the new name parent code broke that. What's the problem? in the presence of ATs the name parent relation can have a depth of two (not just one as in H98). Here is an example: class GMapKey a where data GMap a :: * -> * instance GMapKey Int where data GMap Int v = GMapInt ... The data constructor GMapInt's parent is GMap whose parent in turn is the class GMapKey; ie, GMapKey is GMapInt's grand parent. In H98, data types have no parents (which is in some places in the code represented by making them their own parent). I fixed this by extending the information in filterImport's occ_env and taking the case of associated types explicitly in consideration when processing the various forms of IE items.
4f55ec2c