@@ -52,7 +52,7 @@ createBindingGroups moduleName ds = do
52 let values = filter isValueDecl ds
52 let values = filter isValueDecl ds
53 dataDecls = filter isDataDecl ds
53 dataDecls = filter isDataDecl ds
54 allProperNames = map getProperName dataDecls
54 allProperNames = map getProperName dataDecls
55− dataVerts = map (\d -> (d, getProperName d, usedProperNames d `intersect` allProperNames)) dataDecls
55+ dataVerts = map (\d -> (d, getProperName d, usedProperNames moduleName d `intersect` allProperNames)) dataDecls
56 dataBindingGroupDecls <- mapM toDataBindingGroup $ stronglyConnComp dataVerts
56 dataBindingGroupDecls <- mapM toDataBindingGroup $ stronglyConnComp dataVerts
57 let allIdents = map getIdent values
57 let allIdents = map getIdent values
58 valueVerts = map (\d -> (d, getIdent d, usedIdents moduleName d `intersect` allIdents)) values
58 valueVerts = map (\d -> (d, getIdent d, usedIdents moduleName d `intersect` allIdents)) values
@@ -83,11 +83,11 @@ usedIdents moduleName = nub . everything (++) (mkQ [] names)
83 names (Var (Qualified (Just moduleName') name)) | moduleName == moduleName' = [name]
83 names (Var (Qualified (Just moduleName') name)) | moduleName == moduleName' = [name]
84 names _ = []
84 names _ = []
86−usedProperNames :: (Data d) => d -> [ProperName]
86+usedProperNames :: (Data d) => ModuleName -> d -> [ProperName]
87−usedProperNames = nub . everything (++) (mkQ [] names)
87+usedProperNames moduleName = nub . everything (++) (mkQ [] names)
89 names :: Type -> [ProperName]
89 names :: Type -> [ProperName]
90− names (TypeConstructor (Qualified Nothing name)) = [name]
90+ names (TypeConstructor (Qualified (Just moduleName') name)) | moduleName == moduleName' = [name]
91 names _ = []
91 names _ = []
93getIdent :: Declaration -> Ident
93getIdent :: Declaration -> Ident