+ return $ Map.lookup hsfunc fs
+
+-- | Sets the FlatFunction for the given HsFunction in the given setting.
+setFlatFunc :: HsFunction -> FlatFunction -> VHDLState ()
+setFlatFunc hsfunc flatfunc = do
+ fs <- State.gets funcs -- Get the funcs element from the session
+ let fs'= Map.adjust (\d -> d { flatFunc = Just flatfunc }) hsfunc fs
+ State.modify (\x -> x {funcs = fs' })
+
+modFunc :: HsFunction -> (HsFunction -> FuncData -> FuncData) -> VHDLState ()
+modFunc hsfunc f = do
+ fs <- State.gets funcs -- Get the funcs element from the session
+ let fs' = Map.adjustWithKey f hsfunc fs
+ State.modify (\x -> x {funcs = fs' })