on develop help sign in
Reverving constructors
commit4d5e8577018c0ea4b74e654a482336a7646798fa authorBrendan Hay <brendan.g.hay@gmail.com> dateSun 4 Oct 2015, 12:38 (11 years ago) parentd71bad1
2 files changed+11
gen/src/Gen/AST/Flatten.hs+1 gen/src/Gen/Types.hs+10
gen/src/Gen/AST/Flatten.hs+1
@@ -45,6 +45,7 @@ flatten s = do
4545 ss <- use schemas
4646
4747 reserveBranches
48+ reserveFields
4849
4950 let d = (s ^. sDescription)
5051 { _dSchemas = Map.fromList $ map (join (,)) (Map.keys ss)
gen/src/Gen/Types.hs+10
@@ -15,6 +15,7 @@
1515{-# LANGUAGE RankNTypes #-}
1616{-# LANGUAGE RecordWildCards #-}
1717{-# LANGUAGE TemplateHaskell #-}
18+{-# LANGUAGE ViewPatterns #-}
1819
1920-- Module : Gen.Types
2021-- Copyright : (c) 2015 Brendan Hay
@@ -50,6 +51,7 @@ import Data.Text (Text)
5051import qualified Data.Text as Text
5152import qualified Data.Text.Lazy as LText
5253import qualified Data.Text.Lazy.Builder as Build
54+import Data.Text.Manipulate
5355import Debug.Trace
5456import qualified Filesystem.Path.CurrentOS as Path
5557import Formatting
@@ -287,3 +289,11 @@ reserveBranches = do
287289 ss <- use schemas
288290 let bs = Set.fromList $ map (CI.mk . global) (Map.keys ss)
289291 branches %= Map.insertWith (<>) mempty bs
292+
293+reserveFields :: AST ()
294+reserveFields = do
295+ ss <- use schemas
296+ forM_ (Map.keys ss) $ \(global -> k) -> do
297+ let p:ps = splitWords k
298+ s = mconcat ps
299+ fields %= Map.insertWith (<>) (CI.mk p) (Set.singleton (CI.mk s))