Rename cλash dir to clash so it behaves well within the ghc build tree
[matthijs/master-project/cλash.git] / clash / CLasH / Translator / Annotations.hs
1 {-# LANGUAGE DeriveDataTypeable #-}
2 module CLasH.Translator.Annotations where
3   
4 import qualified Language.Haskell.TH as TH
5 import Data.Data
6
7 data CLasHAnn = TopEntity | InitState TH.Name | TestInput | TestCycles
8   deriving (Show, Data, Typeable)
9   
10 isTopEntity :: CLasHAnn -> Bool
11 isTopEntity TopEntity = True
12 isTopEntity _         = False
13
14 isInitState :: CLasHAnn -> Bool
15 isInitState (InitState _) = True
16 isInitState _             = False
17
18 isTestInput :: CLasHAnn -> Bool
19 isTestInput TestInput = True
20 isTestInput _         = False
21
22 isTestCycles :: CLasHAnn -> Bool
23 isTestCycles TestCycles = True
24 isTestCycles _          = False