public void UpdateSubclasses() { int i = 0; lock (subclasses) { while (i < subclasses.Count) { if (subclasses[i].IsAlive) { object target = subclasses[i].Target; if (target != null) { PythonType pt = target as PythonType; System.Diagnostics.Debug.Assert(pt != null); pt.UpdateFromBases(); pt.UpdateSubclasses(); i++; } else { subclasses.RemoveAt(i); } } else { subclasses.RemoveAt(i); } } } }
public bool SetAttribute(object instance, object value) { SetDeclaredMethod(value); pythonType.UpdateSubclasses(); return(true); }