[docs]classVariableManagerSerializer:""" Serialize/unserialize a variable manager and its variables. """
[docs]@staticmethoddefdump(session,db_kb:"DbKnowledgeBase",var_manager:VariableManager):# Remove all existing variable collectionssession.query(DbVariableCollection).filter_by(kb=db_kb).delete()# Dump all variable manager internal instancesforfunc_addr,internalinvar_manager.function_managers.items():VariableManagerSerializer.dump_internal(session,db_kb,internal,func_addr,ident=None)# dump the global variable manager internalVariableManagerSerializer.dump_internal(session,db_kb,var_manager.global_manager,-1,ident=None)