X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FbasicTypes%2FMkId.lhs;h=8f71aabf065113789db7d6e5d25f4cce928a53fd;hb=143f4381d242e4a1c3174e8a0732a1e48f00a1aa;hp=0c84685f87bb9fa0e5732e55738ad572429fcbe2;hpb=307ea550bfa8fb9146f07c0dc103e53a31f4436c;p=ghc-hetmet.git diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index 0c84685..8f71aab 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -413,10 +413,10 @@ type (e.g. 'b' in T2). \begin{code} --- XXX - autrijus - --- Plan: 1. Determine naughtiness by comparing field type vs result type --- 2. Install naughty ones with selector_ty of type _|_ and fill in mzero for info --- 3. If it's not naughty, do the normal plan. +-- Steps for handling "naughty" vs "non-naughty" selectors: +-- 1. Determine naughtiness by comparing field type vs result type +-- 2. Install naughty ones with selector_ty of type _|_ and fill in mzero for info +-- 3. If it's not naughty, do the normal plan. mkRecordSelId :: TyCon -> FieldLabel -> Id mkRecordSelId tycon field_label @@ -571,10 +571,10 @@ mkRecordSelId tycon field_label -- it manipulates CoreSyn. mkReboxingAlt - :: [Unique] -- Uniques for the new Ids + :: [Unique] -- Uniques for the new Ids -> DataCon - -> [Var] -- Source-level args, including existential dicts - -> CoreExpr -- RHS + -> [Var] -- Source-level args, including existential dicts + -> CoreExpr -- RHS -> CoreAlt mkReboxingAlt us con args rhs @@ -855,18 +855,18 @@ unsafeCoerceName = mkWiredInIdName gHC_PRIM FSLIT("unsafeCoerce#") unsafeCoerceI nullAddrName = mkWiredInIdName gHC_PRIM FSLIT("nullAddr#") nullAddrIdKey nullAddrId seqName = mkWiredInIdName gHC_PRIM FSLIT("seq") seqIdKey seqId realWorldName = mkWiredInIdName gHC_PRIM FSLIT("realWorld#") realWorldPrimIdKey realWorldPrimId -lazyIdName = mkWiredInIdName pREL_BASE FSLIT("lazy") lazyIdKey lazyId - -errorName = mkWiredInIdName pREL_ERR FSLIT("error") errorIdKey eRROR_ID -recSelErrorName = mkWiredInIdName pREL_ERR FSLIT("recSelError") recSelErrorIdKey rEC_SEL_ERROR_ID -runtimeErrorName = mkWiredInIdName pREL_ERR FSLIT("runtimeError") runtimeErrorIdKey rUNTIME_ERROR_ID -irrefutPatErrorName = mkWiredInIdName pREL_ERR FSLIT("irrefutPatError") irrefutPatErrorIdKey iRREFUT_PAT_ERROR_ID -recConErrorName = mkWiredInIdName pREL_ERR FSLIT("recConError") recConErrorIdKey rEC_CON_ERROR_ID -patErrorName = mkWiredInIdName pREL_ERR FSLIT("patError") patErrorIdKey pAT_ERROR_ID -noMethodBindingErrorName = mkWiredInIdName pREL_ERR FSLIT("noMethodBindingError") +lazyIdName = mkWiredInIdName gHC_BASE FSLIT("lazy") lazyIdKey lazyId + +errorName = mkWiredInIdName gHC_ERR FSLIT("error") errorIdKey eRROR_ID +recSelErrorName = mkWiredInIdName gHC_ERR FSLIT("recSelError") recSelErrorIdKey rEC_SEL_ERROR_ID +runtimeErrorName = mkWiredInIdName gHC_ERR FSLIT("runtimeError") runtimeErrorIdKey rUNTIME_ERROR_ID +irrefutPatErrorName = mkWiredInIdName gHC_ERR FSLIT("irrefutPatError") irrefutPatErrorIdKey iRREFUT_PAT_ERROR_ID +recConErrorName = mkWiredInIdName gHC_ERR FSLIT("recConError") recConErrorIdKey rEC_CON_ERROR_ID +patErrorName = mkWiredInIdName gHC_ERR FSLIT("patError") patErrorIdKey pAT_ERROR_ID +noMethodBindingErrorName = mkWiredInIdName gHC_ERR FSLIT("noMethodBindingError") noMethodBindingErrorIdKey nO_METHOD_BINDING_ERROR_ID nonExhaustiveGuardsErrorName - = mkWiredInIdName pREL_ERR FSLIT("nonExhaustiveGuardsError") + = mkWiredInIdName gHC_ERR FSLIT("nonExhaustiveGuardsError") nonExhaustiveGuardsErrorIdKey nON_EXHAUSTIVE_GUARDS_ERROR_ID \end{code}