on develop help sign in
Correctly priming the reserved branches map
commit2bfe6a2a3cabe42890e29b44d4a688b01c022224 authorBrendan Hay <brendan.g.hay@gmail.com> dateSat 3 Oct 2015, 18:02 (11 years ago) parentf39eb32
3 files changed+12−7
gen/src/Gen/AST/Flatten.hs+4−2 gen/src/Gen/Text.hs+1 gen/src/Gen/Types.hs+7−5
gen/src/Gen/AST/Flatten.hs+4−2
@@ -44,6 +44,8 @@ flatten s = do
4444 -- The horror.
4545 ss <- use schemas
4646
47+ reserveBranches
48+
4749 let d = (s ^. sDescription)
4850 { _dSchemas = Map.fromList $ map (join (,)) (Map.keys ss)
4951 , _dParameters = ps
@@ -82,7 +84,7 @@ schema g ml (Fix f) = go f >>= insert this
8284 SObj i o -> SObj i <$> object o
8385
8486 array (Arr e) =
85− Arr <$> localSchema this "item" (setRequired e)
87+ Arr <$> schema this (Just "item") (setRequired e)
8688
8789 object (Obj aps ps) =
8890 Obj Nothing <$> Map.traverseWithKey (localSchema this) ps
@@ -176,5 +178,5 @@ insert g s = do
176178 where
177179 exists n x =
178180 format ("Schema exists: " % stext % " - " % gid %
179− "\nCurrent: " % shown % "\nTried: " % shown)
181+ "\n\n[Current]\n" % shown % "\n[Tried]\n\n" % shown)
180182 n g x s
gen/src/Gen/Text.hs+1
@@ -208,6 +208,7 @@ upperAcronym x = Fold.foldl' (flip (uncurry RE.replaceAll)) x xs
208208 , ("Jwk", "JWK")
209209 , ("Dto", "DTO")
210210 , ("Sku", "SKU")
211+ , ("Cse$", "CSE")
211212
212213 , ("access", "Access")
213214 , ("account", "Account")
gen/src/Gen/Types.hs+7−5
@@ -268,20 +268,22 @@ data Memo = Memo
268268 }
269269
270270initial :: Service (Fix Schema) -> Memo
271−initial s = Memo s mempty mempty core mempty reserveBranches mempty
271+initial s = Memo s mempty mempty core mempty mempty mempty
272272 where
273273 -- Types available in Network.Google.Prelude.
274274 core = Map.fromList
275275 [ ("Body", SLit requiredInfo Body)
276276 ]
277277
278− -- Reserved sum constructor names.
279− reserveBranches = Map.singleton mempty . Set.fromList $
280− map (CI.mk . global) (Map.keys (s ^. dSchemas))
281−
282278makeLenses ''Memo
283279
284280instance HasService Memo (Fix Schema) where
285281 service = context
286282
287283type AST = ExceptT Error (State Memo)
284+
285+reserveBranches :: AST ()
286+reserveBranches = do
287+ ss <- use schemas
288+ let bs = Set.fromList $ map (CI.mk . global) (Map.keys ss)
289+ branches %= Map.insertWith (<>) mempty bs