module Language.Haskell.TokenUtils.Layout ( -- allocTokens retrieveTokens ) where import Control.Exception import Data.Tree import Language.Haskell.TokenUtils.Types -- import Language.Haskell.TokenUtils.Utils -- --------------------------------------------------------------------- -- allocTokens = assert False undefined -- --------------------------------------------------------------------- retrieveTokens :: (IsToken a) => LayoutTree a -> [a] retrieveTokens layout = go [] layout where -- go acc (Group _ _ xs) = acc ++ (concat $ map (go []) xs) -- go acc (Leaf _ _ toks) = acc ++ toks go acc (Node (Entry _ _ [] ) xs) = acc ++ (concat $ map (go []) xs) go acc (Node (Entry _ _ toks) _) = acc ++ toks go acc (Node (Deleted _ _ _) _) = acc -- ---------------------------------------------------------------------