X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_refiner%2FnRstatus.ml;h=bb2d357d754abc4cd55dae50d8be7e80eb9e037e;hb=f8830ea7f8b308241d73e558092089a24ab2f867;hp=26ef2684c11a0a5ebb1f3815e5e0abf5e2c2187f;hpb=f6c887944d48d718f372a57f1609f3d059908aa8;p=helm.git diff --git a/helm/software/components/ng_refiner/nRstatus.ml b/helm/software/components/ng_refiner/nRstatus.ml index 26ef2684c..bb2d357d7 100644 --- a/helm/software/components/ng_refiner/nRstatus.ml +++ b/helm/software/components/ng_refiner/nRstatus.ml @@ -11,16 +11,45 @@ (* $Id: nCicRefiner.ml 9802 2009-05-25 15:39:26Z tassi $ *) -type refiner_status = { - coerc_db : NCicCoercion.db; - uhint_db : NCicUnifHint.db; - library_db : NCicLibrary.timestamp; -} +class status = + object (self) + inherit NCicUnifHint.status + inherit NCicCoercion.status + inherit NCicLibrary.status + method set_rstatus + : 'status. + < coerc_db : NCicCoercion.db; + uhint_db : NCicUnifHint.db; + timestamp: NCicLibrary.timestamp; .. > as 'status -> 'self + = fun o -> + ((self#set_unifhint_status o)#set_coercion_status o)#set_library_status o + end + +type sstatus = status module Serializer = - NCicLibrary.Serializer(struct type status = refiner_status end) + struct + include NCicLibrary.Serializer(struct type status = sstatus end) + + let require ~baseuri status = + let rstatus = require ~baseuri (status : #status :> status) in + let status = status#set_uhint_db (rstatus#uhint_db) in + let status = status#set_coerc_db (rstatus#coerc_db) in + let status = status#set_timestamp (rstatus#timestamp) in + status + end -type dumpable_refiner_status = { - refiner_status : refiner_status; - dump: Serializer.obj list -} +class dumpable_status = + object + inherit status + val dump = ([] : Serializer.obj list) + method dump = dump + method set_dump v = {< dump = v >} + method set_dumpable_status + : 'status. + < coerc_db : NCicCoercion.db; + uhint_db : NCicUnifHint.db; + timestamp: NCicLibrary.timestamp; + dump: Serializer.obj list; .. > as 'status -> 'self + = fun o -> {< dump = o#dump >}#set_rstatus o + end