[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / basicTypes / CLabelInfo.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface CLabelInfo where
3 import CharSeq(CSeq)
4 import Class(Class)
5 import Id(Id, IdDetails)
6 import IdInfo(IdInfo)
7 import Maybes(Labda)
8 import NameTypes(FullName)
9 import PreludePS(_PackedString)
10 import Pretty(PprStyle, PrettyRep)
11 import PrimKind(PrimKind)
12 import TyCon(TyCon)
13 import TyVar(TyVarTemplate)
14 import UniType(UniType)
15 import Unique(Unique)
16 data CLabel 
17 data Id         {-# GHC_PRAGMA Id Unique UniType IdInfo IdDetails #-}
18 data TyCon      {-# GHC_PRAGMA SynonymTyCon Unique FullName Int [TyVarTemplate] UniType Bool | DataTyCon Unique FullName Int [TyVarTemplate] [Id] [Class] Bool | TupleTyCon Int | PrimTyCon Unique FullName Int ([PrimKind] -> PrimKind) | SpecTyCon TyCon [Labda UniType] #-}
19 data Unique     {-# GHC_PRAGMA MkUnique Int# #-}
20 cSEP :: _PackedString
21         {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
22 charToC :: Char -> [Char]
23         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
24 charToEasyHaskell :: Char -> [Char]
25         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
26 externallyVisibleCLabel :: CLabel -> Bool
27         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
28 identToC :: _PackedString -> Int -> Bool -> PrettyRep
29         {-# GHC_PRAGMA _A_ 1 _U_ 222 _N_ _S_ "S" _N_ _N_ #-}
30 isAsmTemp :: CLabel -> Bool
31         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
32 isReadOnly :: CLabel -> Bool
33         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
34 mkAltLabel :: Unique -> Int -> CLabel
35         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
36 mkAsmTempLabel :: Unique -> CLabel
37         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
38 mkBlackHoleInfoTableLabel :: CLabel
39         {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
40 mkClosureLabel :: Id -> CLabel
41         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
42 mkConEntryLabel :: Id -> CLabel
43         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
44 mkConUpdCodePtrVecLabel :: TyCon -> Int -> CLabel
45         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
46 mkDefaultLabel :: Unique -> CLabel
47         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
48 mkErrorStdEntryLabel :: CLabel
49         {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
50 mkFastEntryLabel :: Id -> Int -> CLabel
51         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
52 mkInfoTableLabel :: Id -> CLabel
53         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
54 mkInfoTableVecTblLabel :: TyCon -> CLabel
55         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
56 mkPhantomInfoTableLabel :: Id -> CLabel
57         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
58 mkRednCountsLabel :: Id -> CLabel
59         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
60 mkReturnPtLabel :: Unique -> CLabel
61         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
62 mkStaticConEntryLabel :: Id -> CLabel
63         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
64 mkStaticInfoTableLabel :: Id -> CLabel
65         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
66 mkStdEntryLabel :: Id -> CLabel
67         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
68 mkStdUpdCodePtrVecLabel :: TyCon -> Int -> CLabel
69         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
70 mkStdUpdVecTblLabel :: TyCon -> CLabel
71         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
72 mkVapEntryLabel :: Id -> Bool -> CLabel
73         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
74 mkVapInfoTableLabel :: Id -> Bool -> CLabel
75         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
76 mkVecTblLabel :: Unique -> CLabel
77         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
78 modnameToC :: _PackedString -> _PackedString
79         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
80 needsCDecl :: CLabel -> Bool
81         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
82 pprCLabel :: PprStyle -> CLabel -> CSeq
83         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
84 stringToC :: [Char] -> [Char]
85         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
86 instance Eq CLabel
87         {-# GHC_PRAGMA _M_ CLabelInfo {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(CLabel -> CLabel -> Bool), (CLabel -> CLabel -> Bool)] [_CONSTM_ Eq (==) (CLabel), _CONSTM_ Eq (/=) (CLabel)] _N_
88          (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
89          (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
90 instance Ord CLabel
91         {-# GHC_PRAGMA _M_ CLabelInfo {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq CLabel}}, (CLabel -> CLabel -> Bool), (CLabel -> CLabel -> Bool), (CLabel -> CLabel -> Bool), (CLabel -> CLabel -> Bool), (CLabel -> CLabel -> CLabel), (CLabel -> CLabel -> CLabel), (CLabel -> CLabel -> _CMP_TAG)] [_DFUN_ Eq (CLabel), _CONSTM_ Ord (<) (CLabel), _CONSTM_ Ord (<=) (CLabel), _CONSTM_ Ord (>=) (CLabel), _CONSTM_ Ord (>) (CLabel), _CONSTM_ Ord max (CLabel), _CONSTM_ Ord min (CLabel), _CONSTM_ Ord _tagCmp (CLabel)] _N_
92          (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
93          (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
94          (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
95          (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
96          max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
97          min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
98          _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
99