public void UpdateFromBases(Tuple mro) { if (!isSuperTypeMethod) { return; } Debug.Assert(mro.Count > 0); MethodWrapper current = (MethodWrapper)myField.GetValue(mro[0]); for (int i = 1; i < mro.Count; i++) { if (current != null && !current.isSuperTypeMethod) { break; } object baseTypeObj = mro[i]; PythonType baseType = baseTypeObj as PythonType; if (baseType == null) { System.Diagnostics.Debug.Assert(baseTypeObj is DynamicType); continue; } baseType.Initialize(); string fieldname = (string)SymbolTable.IdToString(name); current = (MethodWrapper)myField.GetValue(baseType); } if (current != null) { UpdateFromBase(current); } }