import CStrings ( identToC )
import Constants ( mIN_MP_INT_SIZE, mP_STRUCT_SIZE )
import HeapOffs ( addOff, intOff, totHdrSize, HeapOffset )
-import PprStyle --( codeStyle, ifaceStyle )
+import Outputable ( PprStyle, Outputable(..), codeStyle, ifaceStyle )
import PprType ( pprParendGenType, GenTyVar{-instance Outputable-} )
import Pretty
import SMRep ( SMRep(..), SMSpecRepKind(..), SMUpdateKind(..) )
import TyCon ( TyCon{-instances-} )
-import Type {- ( getAppDataTyConExpandingDicts, maybeAppDataTyConExpandingDicts,
- mkForAllTys, mkFunTy, mkFunTys, applyTyCon, typePrimRep
- ) -}
+import Type ( mkForAllTys, mkFunTy, mkFunTys, applyTyCon, typePrimRep,
+ getAppDataTyConExpandingDicts, SYN_IE(Type)
+ )
import TyVar --( alphaTyVar, betaTyVar, gammaTyVar, GenTyVar{-instance Eq-} )
import Unique ( Unique{-instance Eq-} )
import Util ( panic#, assoc, panic{-ToDo:rm-} )
-#if __GLASGOW_HASKELL__ >= 202
-import Outputable
-#endif
\end{code}
%************************************************************************
primOpInfo (CCallOp _ _ _ arg_tys result_ty)
= AlgResult SLIT("ccall#") [] arg_tys result_tycon tys_applied
where
- (result_tycon, tys_applied, _) = --trace "PrimOp.getAppDataTyConExpandingDicts" $
- getAppDataTyConExpandingDicts result_ty
+ (result_tycon, tys_applied, _) = getAppDataTyConExpandingDicts result_ty
#ifdef DEBUG
primOpInfo op = panic ("primOpInfo:"++ show (I# (tagOf_PrimOp op)))
IMP_Ubiq()
import Type
+import CmdLineOpts ( opt_PprUserLength )
import CoreSyn
import Literal
import CoreUnfold ( mkUnfolding, PragmaInfo(..) )
dataConStrictMarks, dataConFieldLabels, dataConArgTys,
recordSelectorFieldLabel, dataConSig,
StrictnessMark(..),
- isDataCon, isMethodSelId_maybe, isSuperDictSelId_maybe,
+ isAlgCon, isMethodSelId_maybe, isSuperDictSelId_maybe,
isRecordSelector, isPrimitiveId_maybe,
addIdUnfolding, addIdArity,
SYN_IE(Id)
)
import IdInfo ( ArityInfo, exactArity )
import Class ( GenClass, GenClassOp, classSig, classOpLocalType )
-import TyCon ( isNewTyCon )
+import TyCon ( isNewTyCon, isDataTyCon, isAlgTyCon )
import FieldLabel ( FieldLabel )
import PrelVals ( pAT_ERROR_ID )
import Maybes
-import PprStyle ( PprStyle(..) )
+import Outputable ( PprStyle(..), Outputable(..) )
import Pretty
import Util ( assertPanic, pprTrace,
assoc
)
-#if __GLASGOW_HASKELL__ >= 202
-import Outputable
-#endif
\end{code}
addStandardIdInfo con_id
- | isDataCon con_id
+ | isAlgCon con_id
= con_id `addIdUnfolding` unfolding
`addIdArity` exactArity (length locals)
where
\begin{code}
addStandardIdInfo sel_id
| isRecordSelector sel_id
- = ASSERT( null theta )
+ = ASSERT( null theta && isDataTyCon tycon )
sel_id `addIdUnfolding` unfolding
`addIdArity` exactArity 1
-- ToDo: consider adding further IdInfo
maybe_the_arg_id = assocMaybe (field_lbls `zip` arg_ids) field_lbl
error_expr = mkApp (Var pAT_ERROR_ID) [] [rhs_ty] [LitArg msg_lit]
- full_msg = show (sep [text "No match in record selector", ppr PprForUser sel_id])
+ full_msg = show (sep [text "No match in record selector", ppr (PprForUser opt_PprUserLength) sel_id])
msg_lit = NoRepStr (_PK_ full_msg)
\end{code}
import Kind ( mkUnboxedTypeKind, mkBoxedTypeKind, mkTypeKind, mkArrowKind )
import Name ( mkWiredInTyConName )
import PrimRep ( PrimRep(..) ) -- getPrimRepInfo uses PrimRep repn
-import TyCon --( mkPrimTyCon, mkDataTyCon, NewOrData(..) )
-import Type --( applyTyCon, mkTyVarTys, mkTyConTy )
+import TyCon ( mkPrimTyCon, mkDataTyCon, SYN_IE(TyCon) )
+import BasicTypes ( NewOrData(..) )
+import Type ( applyTyCon, mkTyVarTys, mkTyConTy, SYN_IE(Type) )
import TyVar ( GenTyVar(..), alphaTyVars )
import Usage ( usageOmega )
import PrelMods ( gHC__ )
--import Pretty
--import Util
--import PprType
---import PprStyle
--import Kind
IMP_Ubiq()
import Kind ( mkBoxedTypeKind, mkArrowKind )
import Name --( mkWiredInTyConName, mkWiredInIdName, mkTupNameStr )
import TyCon ( mkDataTyCon, mkTupleTyCon, mkSynTyCon,
- NewOrData(..), TyCon, SYN_IE(Arity)
+ TyCon, SYN_IE(Arity)
)
+import BasicTypes ( NewOrData(..) )
import Type ( mkTyConTy, applyTyCon, mkSigmaTy, mkTyVarTys,
mkFunTy, mkFunTys, maybeAppTyCon,
GenType(..), SYN_IE(ThetaType), SYN_IE(TauType) )