+setMethodMap :: MethodMap -> IO ()
+setMethodMap m = do
+ ctx <- readIORef mateCtx
+ writeIORef mateCtx $ ctx { ctxMethodMap = m }
+
+getMethodMap :: IO MethodMap
+getMethodMap = do
+ ctx <- readIORef mateCtx
+ return $ ctxMethodMap ctx
+
+
+setTrapMap :: TrapMap -> IO ()
+setTrapMap m = do
+ ctx <- readIORef mateCtx
+ writeIORef mateCtx $ ctx { ctxTrapMap = m }
+
+getTrapMap :: IO TrapMap
+getTrapMap = do
+ ctx <- readIORef mateCtx
+ return $ ctxTrapMap ctx
+
+
+setClassMap :: ClassMap -> IO ()
+setClassMap m = do
+ ctx <- readIORef mateCtx
+ writeIORef mateCtx $ ctx { ctxClassMap = m }
+
+getClassMap :: IO ClassMap
+getClassMap = do
+ ctx <- readIORef mateCtx
+ return $ ctxClassMap ctx
+
+
+setVirtualMap :: VirtualMap -> IO ()
+setVirtualMap m = do
+ ctx <- readIORef mateCtx
+ writeIORef mateCtx $ ctx { ctxVirtualMap = m }
+
+getVirtualMap :: IO VirtualMap
+getVirtualMap = do
+ ctx <- readIORef mateCtx
+ return $ ctxVirtualMap ctx
+
+
+setStringMap :: StringMap -> IO ()
+setStringMap m = do
+ ctx <- readIORef mateCtx
+ writeIORef mateCtx $ ctx { ctxStringMap = m }