瀏覽代碼

[lua] make `lua.Table.create` an extern method

Aleksandr Kuzmenko 6 年之前
父節點
當前提交
3e88dc004c
共有 2 個文件被更改,包括 2 次插入4 次删除
  1. 1 0
      src/generators/genlua.ml
  2. 1 4
      std/lua/Table.hx

+ 1 - 0
src/generators/genlua.ml

@@ -406,6 +406,7 @@ and gen_call ctx e el =
          gen_paren_arguments ctx el;
      | TIdent "__lua_length__", [e]->
          spr ctx "#"; gen_value ctx e;
+     | TField (_, FStatic ({ cl_path = (["_G"],"table")}, { cf_name = "create" })), el
      | TIdent "__lua_table__", el ->
          let count = ref 0 in
          spr ctx "({";

+ 1 - 4
std/lua/Table.hx

@@ -29,10 +29,7 @@ package lua;
 
 @:native("_G.table")
 extern class Table<A, B> implements ArrayAccess<B> implements Dynamic<B> {
-	@:analyzer(no_fusion)
-	public inline static function create<A, B>(?arr:Array<B>, ?hsh:Dynamic):Table<A, B> {
-		return untyped __lua_table__(arr, hsh);
-	}
+	@:pure public static function create<A, B>(?arr:Array<B>, ?hsh:Dynamic):Table<A, B>;
 
 	public inline static function fromArray<T>(arr:Array<T>):Table<Int, T> {
 		var ret = Table.create();