Răsfoiți Sursa

[lua] __init__ comes before static initialization

Justin Donaldson 5 ani în urmă
părinte
comite
adc9ed1b25
1 a modificat fișierele cu 3 adăugiri și 4 ștergeri
  1. 3 4
      src/generators/genlua.ml

+ 3 - 4
src/generators/genlua.ml

@@ -2029,13 +2029,12 @@ let generate com =
     newline ctx;
 
     let b = open_block ctx in
-    println ctx "local _hx_static_init = function()";
-    (* Generate statics *)
-    List.iter (generate_static ctx) (List.rev ctx.statics);
     (* Localize init variables inside a do-block *)
-    (* Note: __init__ logic can modify static variables. *)
+    println ctx "local _hx_static_init = function()";
     (* Generate static inits *)
     List.iter (gen_block_element ctx) (List.rev ctx.inits);
+    (* Generate statics *)
+    List.iter (generate_static ctx) (List.rev ctx.statics);
     b();
     newline ctx;
     println ctx "end";