فهرست منبع

Lua : Fix map iterators

These were using an optimized form for javascript that doesn't work in
lua.
Justin Donaldson 10 سال پیش
والد
کامیت
a84478bdda
2فایلهای تغییر یافته به همراه8 افزوده شده و 8 حذف شده
  1. 4 4
      std/lua/_std/haxe/ds/IntMap.hx
  2. 4 4
      std/lua/_std/haxe/ds/StringMap.hx

+ 4 - 4
std/lua/_std/haxe/ds/IntMap.hx

@@ -63,11 +63,11 @@ class IntMap<T> implements haxe.Constraints.IMap<Int,T> {
 	}
 
 	public function iterator() : Iterator<T> {
+		var ref = h;
+		var it = keys();
 		return untyped {
-			ref : h,
-			it : keys(),
-			hasNext : function() { return __this__.it.hasNext(); },
-			next : function() { var i = __this__.it.next(); return __this__.ref[i]; }
+			hasNext : function() { return keys.hasNext(); },
+			next : function() { var i = keys.next(); return h[i]; }
 		};
 	}
 

+ 4 - 4
std/lua/_std/haxe/ds/StringMap.hx

@@ -63,11 +63,11 @@ class StringMap<T> implements haxe.Constraints.IMap<String,T> {
 	}
 
 	public function iterator() : Iterator<T> {
+		var ref = h;
+		var it = keys();
 		return untyped {
-			ref : h,
-			it : keys(),
-			hasNext : function() { return __this__.it.hasNext(); },
-			next : function() { var i = __this__.it.next(); return __this__.ref[i]; }
+			hasNext : function() { return keys.hasNext(); },
+			next : function() { var i = keys.next(); return h[i]; }
 		};
 	}