// automatically generated by stateify. package refs import ( "gvisor.dev/gvisor/pkg/state" ) func (w *WeakRef) StateTypeName() string { return "pkg/refs.WeakRef" } func (w *WeakRef) StateFields() []string { return []string{ "obj", "user", } } func (w *WeakRef) beforeSave() {} // +checklocksignore func (w *WeakRef) StateSave(stateSinkObject state.Sink) { w.beforeSave() var objValue savedReference objValue = w.saveObj() stateSinkObject.SaveValue(0, objValue) stateSinkObject.Save(1, &w.user) } func (w *WeakRef) afterLoad() {} // +checklocksignore func (w *WeakRef) StateLoad(stateSourceObject state.Source) { stateSourceObject.Load(1, &w.user) stateSourceObject.LoadValue(0, new(savedReference), func(y interface{}) { w.loadObj(y.(savedReference)) }) } func (r *AtomicRefCount) StateTypeName() string { return "pkg/refs.AtomicRefCount" } func (r *AtomicRefCount) StateFields() []string { return []string{ "refCount", "name", "stack", } } func (r *AtomicRefCount) beforeSave() {} // +checklocksignore func (r *AtomicRefCount) StateSave(stateSinkObject state.Sink) { r.beforeSave() stateSinkObject.Save(0, &r.refCount) stateSinkObject.Save(1, &r.name) stateSinkObject.Save(2, &r.stack) } func (r *AtomicRefCount) afterLoad() {} // +checklocksignore func (r *AtomicRefCount) StateLoad(stateSourceObject state.Source) { stateSourceObject.Load(0, &r.refCount) stateSourceObject.Load(1, &r.name) stateSourceObject.Load(2, &r.stack) } func (s *savedReference) StateTypeName() string { return "pkg/refs.savedReference" } func (s *savedReference) StateFields() []string { return []string{ "obj", } } func (s *savedReference) beforeSave() {} // +checklocksignore func (s *savedReference) StateSave(stateSinkObject state.Sink) { s.beforeSave() stateSinkObject.Save(0, &s.obj) } func (s *savedReference) afterLoad() {} // +checklocksignore func (s *savedReference) StateLoad(stateSourceObject state.Source) { stateSourceObject.Load(0, &s.obj) } func (l *weakRefList) StateTypeName() string { return "pkg/refs.weakRefList" } func (l *weakRefList) StateFields() []string { return []string{ "head", "tail", } } func (l *weakRefList) beforeSave() {} // +checklocksignore func (l *weakRefList) StateSave(stateSinkObject state.Sink) { l.beforeSave() stateSinkObject.Save(0, &l.head) stateSinkObject.Save(1, &l.tail) } func (l *weakRefList) afterLoad() {} // +checklocksignore func (l *weakRefList) StateLoad(stateSourceObject state.Source) { stateSourceObject.Load(0, &l.head) stateSourceObject.Load(1, &l.tail) } func (e *weakRefEntry) StateTypeName() string { return "pkg/refs.weakRefEntry" } func (e *weakRefEntry) StateFields() []string { return []string{ "next", "prev", } } func (e *weakRefEntry) beforeSave() {} // +checklocksignore func (e *weakRefEntry) StateSave(stateSinkObject state.Sink) { e.beforeSave() stateSinkObject.Save(0, &e.next) stateSinkObject.Save(1, &e.prev) } func (e *weakRefEntry) afterLoad() {} // +checklocksignore func (e *weakRefEntry) StateLoad(stateSourceObject state.Source) { stateSourceObject.Load(0, &e.next) stateSourceObject.Load(1, &e.prev) } func init() { state.Register((*WeakRef)(nil)) state.Register((*AtomicRefCount)(nil)) state.Register((*savedReference)(nil)) state.Register((*weakRefList)(nil)) state.Register((*weakRefEntry)(nil)) }