Kaynağa Gözat

[python] add delattr to UBuiltins, use UBuiltins in HxOverrides.mapKwArgs

frabbit 10 yıl önce
ebeveyn
işleme
a1795a4f38

+ 4 - 5
std/python/internal/HxOverrides.hx

@@ -21,7 +21,6 @@
  */
  */
 package python.internal;
 package python.internal;
 
 
-import python.lib.Builtins;
 import python.Syntax;
 import python.Syntax;
 
 
 import python.Syntax.pythonCode in py;
 import python.Syntax.pythonCode in py;
@@ -153,10 +152,10 @@ class HxOverrides {
 		var a = python.Lib.dictAsAnon(python.Lib.anonToDict(a));
 		var a = python.Lib.dictAsAnon(python.Lib.anonToDict(a));
 		for (k in v.keys()) {
 		for (k in v.keys()) {
 			var val = v.get(k);
 			var val = v.get(k);
-			if (Builtins.hasattr(a, k)) {
-				var x = Builtins.getattr(a, k);
-				Builtins.setattr(a, val, x);
-				Builtins.delattr(a, k);
+			if (UBuiltins.hasattr(a, k)) {
+				var x = UBuiltins.getattr(a, k);
+				UBuiltins.setattr(a, val, x);
+				UBuiltins.delattr(a, k);
 			}
 			}
 		}
 		}
 		return a;
 		return a;

+ 1 - 0
std/python/internal/UBuiltins.hx

@@ -38,6 +38,7 @@ extern class UBuiltins {
     static function hasattr(o:Dynamic, a:String):Bool;
     static function hasattr(o:Dynamic, a:String):Bool;
     static function getattr(o:Dynamic, a:String):Dynamic;
     static function getattr(o:Dynamic, a:String):Dynamic;
     static function setattr(o:Dynamic, a:String, v:Dynamic):Void;
     static function setattr(o:Dynamic, a:String, v:Dynamic):Void;
+    static function delattr(o:Dynamic, attr:String):Void;
     static function callable(x:Dynamic):Bool;
     static function callable(x:Dynamic):Bool;
     static function type(o:Dynamic):Dynamic;
     static function type(o:Dynamic):Dynamic;
     static function ord(s:String):Int;
     static function ord(s:String):Int;