idSpecialisation,
idCgInfo,
idCafInfo,
- idCgArity,
idCprInfo,
idLBVarInfo,
idOccInfo,
DataConWrapId con -> True
other -> False
- -- hasNoBinding returns True of an Id which may not have a
- -- binding, even though it is defined in this module. Notably,
- -- the constructors of a dictionary are in this situation.
+-- hasNoBinding returns True of an Id which may not have a
+-- binding, even though it is defined in this module.
+-- Data constructor workers used to be things of this kind, but
+-- they aren't any more. Instead, we inject a binding for
+-- them at the CorePrep stage.
hasNoBinding id = case globalIdDetails id of
- DataConId _ -> True
PrimOpId _ -> True
FCallId _ -> True
other -> False
#endif
---------------------------------
- -- CG ARITY
-idCgArity :: Id -> Arity
-#ifdef DEBUG
-idCgArity id = case cgInfo (idInfo id) of
- NoCgInfo -> pprPanic "idCgArity" (ppr id)
- info -> cgArity info
-#else
-idCgArity id = cgArity (idCgInfo id)
-#endif
-
- ---------------------------------
-- CPR INFO
idCprInfo :: Id -> CprInfo
idCprInfo id = case cprInfo (idInfo id) of