X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FbasicTypes%2FDataCon.lhs;h=5a67ffe77b6283ac4a1a64b50ea1a928cd11f5e7;hp=a01cf74ce7f4af06ea6c8e5c90748233e438a33c;hb=66579ff945831c5fc9a17c58c722ff01f2268d76;hpb=302d1c86dc95bb21af91079b317b62615ec88b5d diff --git a/compiler/basicTypes/DataCon.lhs b/compiler/basicTypes/DataCon.lhs index a01cf74..5a67ffe 100644 --- a/compiler/basicTypes/DataCon.lhs +++ b/compiler/basicTypes/DataCon.lhs @@ -19,8 +19,7 @@ module DataCon ( dataConUnivTyVars, dataConExTyVars, dataConAllTyVars, dataConEqSpec, eqSpecPreds, dataConEqTheta, dataConDictTheta, dataConStupidTheta, dataConInstArgTys, dataConOrigArgTys, dataConOrigResTy, - dataConInstOrigArgTys, dataConInstOrigDictsAndArgTys, - dataConRepArgTys, + dataConInstOrigArgTys, dataConRepArgTys, dataConFieldLabels, dataConFieldType, dataConStrictMarks, dataConExStricts, dataConSourceArity, dataConRepArity, @@ -761,8 +760,8 @@ dataConInstArgTys dc@(MkData {dcRepArgTys = rep_arg_tys, ASSERT2 ( null ex_tvs && null eq_spec, ppr dc ) map (substTyWith univ_tvs inst_tys) rep_arg_tys --- | Returns just the instantiated /value/ arguments of a 'DataCon', --- as opposed to including the dictionary args as in 'dataConInstOrigDictsAndArgTys' +-- | Returns just the instantiated /value/ argument types of a 'DataCon', +-- (excluding dictionary args) dataConInstOrigArgTys :: DataCon -- Works for any DataCon -> [Type] -- Includes existential tyvar args, but NOT @@ -778,23 +777,6 @@ dataConInstOrigArgTys dc@(MkData {dcOrigArgTys = arg_tys, map (substTyWith tyvars inst_tys) arg_tys where tyvars = univ_tvs ++ ex_tvs - --- | Returns just the instantiated dicts and /value/ arguments for a 'DataCon', --- as opposed to excluding the dictionary args as in 'dataConInstOrigArgTys' -dataConInstOrigDictsAndArgTys - :: DataCon -- Works for any DataCon - -> [Type] -- Includes existential tyvar args, but NOT - -- equality constraints or dicts - -> [Type] -dataConInstOrigDictsAndArgTys dc@(MkData {dcOrigArgTys = arg_tys, - dcDictTheta = dicts, - dcUnivTyVars = univ_tvs, - dcExTyVars = ex_tvs}) inst_tys - = ASSERT2( length tyvars == length inst_tys - , ptext (sLit "dataConInstOrigDictsAndArgTys") <+> ppr dc $$ ppr tyvars $$ ppr inst_tys ) - map (substTyWith tyvars inst_tys) (mkPredTys dicts ++ arg_tys) - where - tyvars = univ_tvs ++ ex_tvs \end{code} \begin{code} @@ -818,7 +800,7 @@ dataConIdentity dc = bytesFS (packageIdFS (modulePackageId mod)) ++ fromIntegral (ord ':') : bytesFS (moduleNameFS (moduleName mod)) ++ fromIntegral (ord '.') : bytesFS (occNameFS (nameOccName name)) where name = dataConName dc - mod = nameModule name + mod = ASSERT( isExternalName name ) nameModule name \end{code} \begin{code}