فهرست منبع

[lua] fix missing semicolon on static init declarations, and streamline some boot handlers

Justin Donaldson 8 سال پیش
والد
کامیت
1dc68f8fe9
3فایلهای تغییر یافته به همراه4 افزوده شده و 3 حذف شده
  1. 3 2
      src/generators/genlua.ml
  2. 1 0
      std/lua/Boot.hx
  3. 0 1
      std/lua/_std/Std.hx

+ 3 - 2
src/generators/genlua.ml

@@ -1640,8 +1640,9 @@ let generate_enum ctx e =
 
 let generate_static ctx (c,f,e) =
 	print ctx "%s%s = " (s_path ctx c.cl_path) (field f);
-	gen_value ctx e;
-	newline ctx
+        gen_value ctx e;
+        semicolon ctx;
+        newline ctx
 
 let generate_enumMeta_fields ctx = function
     | TEnumDecl e -> begin

+ 1 - 0
std/lua/Boot.hx

@@ -63,6 +63,7 @@ class Boot {
 	*/
 	static inline public function getClass(o:Dynamic) : Class<Dynamic> {
 		if (Std.is(o, Array)) return Array;
+		else if (Std.is(o, String)) return String;
 		else {
 			var cl = untyped __define_feature__("lua.Boot.getClass", o.__class__);
 			if (cl != null) return cl;

+ 0 - 1
std/lua/_std/Std.hx

@@ -86,7 +86,6 @@ import lua.NativeStringTools;
 
 		// class reflection metadata
 		haxe.macro.Compiler.includeFile("lua/_lua/_hx_classes.lua");
-		__feature__("lua.Boot.getClass", String.prototype.__class__ = __feature__("Type.resolveClass",_hxClasses["String"] = String,String));
 		__feature__("lua.Boot.isClass", String.__name__ = __feature__("Type.getClassName", __lua_table__(["String"]),true));
 		__feature__("Type.resolveClass",_hxClasses["Array"] = Array);
 		__feature__("lua.Boot.isClass",Array.__name__ = __feature__("Type.getClassName",__lua_table__(["Array"]),true));