Aleksandr Kuzmenko 6 лет назад
Родитель
Сommit
429c582652
2 измененных файлов с 2 добавлено и 8 удалено
  1. 1 7
      std/python/_std/Reflect.hx
  2. 1 1
      std/python/internal/HxOverrides.hx

+ 1 - 7
std/python/_std/Reflect.hx

@@ -81,13 +81,7 @@ class Reflect {
 	}
 
 	public static function isFunction(f:Dynamic):Bool {
-		if (Inspect.isfunction(f) || Inspect.ismethod(f)) {
-			return true;
-		}
-		if (Boot.isAnonObject(f)) {
-			return Syntax.code("{0}._hx_hasattr({1})", f, "func_code");
-		}
-		return UBuiltins.hasattr(f, "func_code");
+		return Inspect.isfunction(f) || Inspect.ismethod(f) || Boot.hasField(f, "func_code");
 	}
 
 	public static function compare<T>(a:T, b:T):Int {

+ 1 - 1
std/python/internal/HxOverrides.hx

@@ -174,7 +174,7 @@ class HxOverrides {
 		var a = python.Lib.dictAsAnon(python.Lib.anonToDict(a));
 		for (k in v.keys()) {
 			var val = v.get(k);
-			if (UBuiltins.hasattr(a, k)) {
+			if (Syntax.code('{0}._hx_hasattr({1})', a, k)) {
 				var x = UBuiltins.getattr(a, k);
 				UBuiltins.setattr(a, val, x);
 				UBuiltins.delattr(a, k);