{-# LANGUAGE DeriveDataTypeable #-}
module CLasH.Translator.Annotations where
-import Language.Haskell.TH
+import qualified Language.Haskell.TH as TH
import Data.Data
-data CLasHAnn = TopEntity | InitState
+data CLasHAnn = TopEntity | InitState TH.Name | TestInput | TestCycles
deriving (Show, Data, Typeable)
isTopEntity :: CLasHAnn -> Bool
isTopEntity _ = False
isInitState :: CLasHAnn -> Bool
-isInitState InitState = True
-isInitState _ = False
\ No newline at end of file
+isInitState (InitState _) = True
+isInitState _ = False
+
+isTestInput :: CLasHAnn -> Bool
+isTestInput TestInput = True
+isTestInput _ = False
+
+isTestCycles :: CLasHAnn -> Bool
+isTestCycles TestCycles = True
+isTestCycles _ = False
\ No newline at end of file