plusParent p1 p2 = ASSERT2( p1 == p2, parens (ppr p1) <+> parens (ppr p2) )
p1
-{- Why so complicated? -=chak
-plusParent :: Parent -> Parent -> Parent
-plusParent NoParent rel =
- ASSERT2( case rel of { NoParent -> True; other -> False },
- ptext (sLit "plusParent[NoParent]: ") <+> ppr rel )
- NoParent
-plusParent (ParentIs n) rel =
- ASSERT2( case rel of { ParentIs m -> n==m; other -> False },
- ptext (sLit "plusParent[ParentIs]:") <+> ppr n <> comma <+> ppr rel )
- ParentIs n
- -}
-
emptyGlobalRdrEnv :: GlobalRdrEnv
emptyGlobalRdrEnv = emptyOccEnv
gre_name gre == name ]
getGRE_NameQualifier_maybes :: GlobalRdrEnv -> Name -> [Maybe [ModuleName]]
+-- Returns all the qualifiers by which 'x' is in scope
+-- Nothing means "the unqualified version is in scope"
getGRE_NameQualifier_maybes env
= map qualifier_maybe . map gre_prov . lookupGRE_Name env
- where qualifier_maybe LocalDef = Nothing
- qualifier_maybe (Imported iss) = Just $ map (is_as . is_decl) iss
+ where
+ qualifier_maybe LocalDef = Nothing
+ qualifier_maybe (Imported iss) = Just $ map (is_as . is_decl) iss
pickGREs :: RdrName -> [GlobalRdrElt] -> [GlobalRdrElt]
-- ^ Take a list of GREs which have the right OccName