ソースを参照

Update base Lua global externs, and corresponding Map class usage

Justin Donaldson 10 年 前
コミット
7f23b2094b
3 ファイル変更13 行追加8 行削除
  1. 5 4
      std/lua/Lua.hx
  2. 4 2
      std/lua/_std/haxe/ds/IntMap.hx
  3. 4 2
      std/lua/_std/haxe/ds/StringMap.hx

+ 5 - 4
std/lua/Lua.hx

@@ -5,8 +5,9 @@ package lua;
 **/
 
 @:native("_G")
-extern Lua {
-	public static function unpack : Dynamic->Table<Int,Dynamic>; 
-	public static function setmetatable : Table->Table->Void; 
-	public static function setfenv : Int->Table->Void;
+extern class Lua {
+	public static function unpack(x: Dynamic) : Table<Int,Dynamic>;
+	public static function setmetatable(tbl: Table<Dynamic,Dynamic>, mtbl: Table<Dynamic, Dynamic>) : Void;
+	public static function setfenv(i : Int, tbl: Table<Dynamic, Dynamic>) : Void;
+	public static function next<T>(k:Table<Dynamic,T>, i:Null<Int>) : T;
 }

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

@@ -20,6 +20,8 @@
  * DEALINGS IN THE SOFTWARE.
  */
 package haxe.ds;
+import lua.Lua;
+
 class IntMap<T> implements haxe.Constraints.IMap<Int,T> {
 
 	private var h : Dynamic;
@@ -51,11 +53,11 @@ class IntMap<T> implements haxe.Constraints.IMap<Int,T> {
 	}
 
 	public function keys() : Iterator<Int> untyped {
-		var cur = next(k,null);
+		var cur = Lua.next(k,null);
 		return {
 			next : function() {
 				var ret = cur; 
-				cur = untyped next(k, cur);
+				cur =  Lua.next(k, cur);
 				return ret;
 			},
 			hasNext : function() return cur != null

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

@@ -20,6 +20,8 @@
  * DEALINGS IN THE SOFTWARE.
  */
 package haxe.ds;
+import lua.Lua;
+
 class StringMap<T> implements haxe.Constraints.IMap<String,T> {
 
 	private var h : Dynamic;
@@ -51,11 +53,11 @@ class StringMap<T> implements haxe.Constraints.IMap<String,T> {
 	}
 
 	public function keys() : Iterator<String> untyped {
-		var cur = next(k,null);
+		var cur = Lua.next(k,null);
 		return {
 			next : function() {
 				var ret = cur; 
-				cur = untyped next(k, cur);
+				cur = Lua.next(k, cur);
 				return ret;
 			},
 			hasNext : function() return cur != null