4b9fdbbb15974754f5281a7b8b97aa6c17f61046
[ghc-hetmet.git] / ghc / compiler / basicTypes / BasicLit.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface BasicLit where
3 import Class(Class)
4 import Outputable(Outputable)
5 import PreludePS(_PackedString)
6 import PreludeRatio(Ratio(..))
7 import Pretty(PprStyle)
8 import PrimKind(PrimKind)
9 import TyCon(TyCon)
10 import TyVar(TyVar, TyVarTemplate)
11 import UniType(UniType)
12 data BasicLit   = MachChar Char | MachStr _PackedString | MachAddr Integer | MachInt Integer Bool | MachFloat (Ratio Integer) | MachDouble (Ratio Integer) | MachLitLit _PackedString PrimKind | NoRepStr _PackedString | NoRepInteger Integer | NoRepRational (Ratio Integer)
13 data PrimKind   {-# GHC_PRAGMA PtrKind | CodePtrKind | DataPtrKind | RetKind | InfoPtrKind | CostCentreKind | CharKind | IntKind | WordKind | AddrKind | FloatKind | DoubleKind | MallocPtrKind | StablePtrKind | ArrayKind | ByteArrayKind | VoidKind #-}
14 data UniType    {-# GHC_PRAGMA UniTyVar TyVar | UniFun UniType UniType | UniData TyCon [UniType] | UniSyn TyCon [UniType] UniType | UniDict Class UniType | UniTyVarTemplate TyVarTemplate | UniForall TyVarTemplate UniType #-}
15 isLitLitLit :: BasicLit -> Bool
16         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 12 \ (u0 :: BasicLit) -> case u0 of { _ALG_ _ORIG_ BasicLit MachLitLit (u1 :: _PackedString) (u2 :: PrimKind) -> _!_ True [] []; (u3 :: BasicLit) -> _!_ False [] [] } _N_ #-}
17 isNoRepLit :: BasicLit -> Bool
18         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 14 \ (u0 :: BasicLit) -> case u0 of { _ALG_ _ORIG_ BasicLit NoRepStr (u1 :: _PackedString) -> _!_ True [] []; _ORIG_ BasicLit NoRepInteger (u2 :: Integer) -> _!_ True [] []; _ORIG_ BasicLit NoRepRational (u3 :: Ratio Integer) -> _!_ True [] []; (u4 :: BasicLit) -> _!_ False [] [] } _N_ #-}
19 kindOfBasicLit :: BasicLit -> PrimKind
20         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
21 mkMachInt :: Integer -> BasicLit
22         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
23 mkMachWord :: Integer -> BasicLit
24         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
25 showBasicLit :: PprStyle -> BasicLit -> [Char]
26         {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
27 typeOfBasicLit :: BasicLit -> UniType
28         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
29 instance Eq BasicLit
30         {-# GHC_PRAGMA _M_ BasicLit {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(BasicLit -> BasicLit -> Bool), (BasicLit -> BasicLit -> Bool)] [_CONSTM_ Eq (==) (BasicLit), _CONSTM_ Eq (/=) (BasicLit)] _N_
31          (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
32          (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
33 instance Ord BasicLit
34         {-# GHC_PRAGMA _M_ BasicLit {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq BasicLit}}, (BasicLit -> BasicLit -> Bool), (BasicLit -> BasicLit -> Bool), (BasicLit -> BasicLit -> Bool), (BasicLit -> BasicLit -> Bool), (BasicLit -> BasicLit -> BasicLit), (BasicLit -> BasicLit -> BasicLit), (BasicLit -> BasicLit -> _CMP_TAG)] [_DFUN_ Eq (BasicLit), _CONSTM_ Ord (<) (BasicLit), _CONSTM_ Ord (<=) (BasicLit), _CONSTM_ Ord (>=) (BasicLit), _CONSTM_ Ord (>) (BasicLit), _CONSTM_ Ord max (BasicLit), _CONSTM_ Ord min (BasicLit), _CONSTM_ Ord _tagCmp (BasicLit)] _N_
35          (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
36          (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
37          (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
38          (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
39          max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
40          min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
41          _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
42 instance Outputable BasicLit
43         {-# GHC_PRAGMA _M_ BasicLit {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Outputable ppr (BasicLit) _N_
44          ppr = _A_ 0 _U_ 2122 _N_ _N_ _N_ _N_ #-}
45