File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -811,6 +811,18 @@ function invalidate_cache!(sys::AbstractSystem)
811
811
return sys
812
812
end
813
813
814
+ # `::MetadataT` but that is defined later
815
+ function refreshed_metadata (meta:: Base.ImmutableDict )
816
+ newmeta = MetadataT ()
817
+ for (k, v) in meta
818
+ if k === MutableCacheKey
819
+ v = MutableCacheT ()
820
+ end
821
+ newmeta = Base. ImmutableDict (newmeta, k => v)
822
+ end
823
+ return newmeta
824
+ end
825
+
814
826
function Setfield. get (obj:: AbstractSystem , :: Setfield.PropertyLens{field} ) where {field}
815
827
getfield (obj, field)
816
828
end
819
831
args = map (fieldnames (obj)) do fn
820
832
if fn in fieldnames (patch)
821
833
:(patch.$ fn)
834
+ elseif fn == :metadata
835
+ :($ refreshed_metadata (getfield (obj, $ (Meta. quot (fn)))))
822
836
else
823
837
:(getfield (obj, $ (Meta. quot (fn))))
824
838
end
You can’t perform that action at this time.
0 commit comments