rnGetUnique, rnGetUniques,
newLocalNames,
- lookupValue, lookupValueMaybe,
- lookupTyCon, lookupClass, lookupClassOp,
+ lookupValue, lookupValueMaybe, lookupClassOp,
+ lookupTyCon, lookupClass, lookupTyConOrClass,
extendSS2, extendSS,
TyVarNamesEnv(..), mkTyVarNamesEnv, domTyVarNamesEnv,
import FiniteMap ( FiniteMap, emptyFM, lookupFM, addToFM )
import Maybes ( assocMaybe )
import Name ( Module(..), RdrName(..), isQual,
- Name, mkLocalName, mkImplicitName
+ Name, mkLocalName, mkImplicitName,
+ getOccName
)
-import Outputable ( getOccName )
-import PprStyle ( PprStyle )
import Pretty ( Pretty(..), PrettyRep )
import SrcLoc ( SrcLoc, mkUnknownSrcLoc )
import UniqFM ( UniqFM, emptyUFM )
lookupClass rdr
= lookup_tc rdr isRnClass mkRnImplicitClass "class"
+lookupTyConOrClass rdr
+ = lookup_tc rdr (\ rn -> isRnTyCon rn || isRnClass rn)
+ (panic "lookupTC:mk_implicit") "class or type constructor"
lookup_tc rdr check mk_implicit err_str down@(RnDown _ _ locn (RnSource occ_var) env _ _)
= case lookupTcRnEnv env rdr of