@@ -38,6 +38,7 @@ import Control.Monad.Except
38import Control.Monad.State.Strict
38import Control.Monad.State.Strict
39import Data.Aeson hiding (Array, Bool, String)
39import Data.Aeson hiding (Array, Bool, String)
40import Data.CaseInsensitive (CI)
40import Data.CaseInsensitive (CI)
41+import qualified Data.CaseInsensitive as CI
41import Data.Function (on)
42import Data.Function (on)
42import qualified Data.HashMap.Strict as Map
43import qualified Data.HashMap.Strict as Map
43import qualified Data.HashSet as Set
44import qualified Data.HashSet as Set
@@ -265,16 +266,16 @@ data Memo = Memo
267initial :: Service (Fix Schema) -> Memo
268initial :: Service (Fix Schema) -> Memo
268−initial s = Memo s mempty mempty core mempty mempty mempty
269+initial s = Memo s mempty mempty core mempty reserve mempty
271+ -- Types available in Network.Google.Prelude.
270 core = Map.fromList
272 core = Map.fromList
271 [ ("Body", SLit requiredInfo Body)
273 [ ("Body", SLit requiredInfo Body)
274−-- reserve :: Flattened -> AST ()
276+ -- Reserved sum constructor names.
275−-- reserve svc = do
277+ reserve = Map.singleton mempty . Set.fromList $
276−-- let bs = Set.fromList $ map (CI.mk . idToText) (_svcSchemas svc)
278+ map (CI.mk . global) (Map.keys (s ^. dSchemas))
277−-- branches %= Map.insert mempty bs
279makeLenses ''Memo
280makeLenses ''Memo