2 % (c) The AQUA Project, Glasgow University, 1996
4 \section[RnHsSyn]{Specialisations of the @HsSyn@ syntax for the renamer}
7 #include "HsVersions.h"
17 type RenamedArithSeqInfo = ArithSeqInfo Fake Fake Name RenamedPat
18 type RenamedBind = Bind Fake Fake Name RenamedPat
19 type RenamedClassDecl = ClassDecl Fake Fake Name RenamedPat
20 type RenamedClassOpPragmas = ClassOpPragmas Name
21 type RenamedClassOpSig = Sig Name
22 type RenamedClassPragmas = ClassPragmas Name
23 type RenamedConDecl = ConDecl Name
24 type RenamedContext = Context Name
25 type RenamedDataPragmas = DataPragmas Name
26 type RenamedSpecDataSig = SpecDataSig Name
27 type RenamedDefaultDecl = DefaultDecl Name
28 type RenamedFixityDecl = FixityDecl Name
29 type RenamedGRHS = GRHS Fake Fake Name RenamedPat
30 type RenamedGRHSsAndBinds = GRHSsAndBinds Fake Fake Name RenamedPat
31 type RenamedGenPragmas = GenPragmas Name
32 type RenamedHsBinds = HsBinds Fake Fake Name RenamedPat
33 type RenamedHsExpr = HsExpr Fake Fake Name RenamedPat
34 type RenamedHsModule = HsModule Fake Fake Name RenamedPat
35 type RenamedImportedInterface = ImportedInterface Fake Fake Name RenamedPat
36 type RenamedInstDecl = InstDecl Fake Fake Name RenamedPat
37 type RenamedInstancePragmas = InstancePragmas Name
38 type RenamedInterface = Interface Fake Fake Name RenamedPat
39 type RenamedMatch = Match Fake Fake Name RenamedPat
40 type RenamedMonoBinds = MonoBinds Fake Fake Name RenamedPat
41 type RenamedMonoType = MonoType Name
42 type RenamedPat = InPat Name
43 type RenamedPolyType = PolyType Name
44 type RenamedQual = Qual Fake Fake Name RenamedPat
45 type RenamedSig = Sig Name
46 type RenamedSpecInstSig = SpecInstSig Name
47 type RenamedStmt = Stmt Fake Fake Name RenamedPat
48 type RenamedTyDecl = TyDecl Name
52 collectQualBinders :: [RenamedQual] -> [Name]
54 collectQualBinders quals
55 = concat (map collect quals)
57 collect (GeneratorQual pat _) = collectPatBinders pat
58 collect (FilterQual expr) = []
59 collect (LetQual binds) = collectTopLevelBinders binds