Browse Source

fix order of module-level fields (closes #9514)

Dan Korostelev 5 years ago
parent
commit
37fa804d92

+ 1 - 1
src/typing/typeloadModule.ml

@@ -383,7 +383,7 @@ let module_pass_1 ctx m tdecls loadp =
 			let c = EClass {
 			let c = EClass {
 				d_name = (snd m.m_path) ^ "_Fields_", null_pos;
 				d_name = (snd m.m_path) ^ "_Fields_", null_pos;
 				d_flags = [HPrivate];
 				d_flags = [HPrivate];
-				d_data = fields;
+				d_data = List.rev fields;
 				d_doc = None;
 				d_doc = None;
 				d_params = [];
 				d_params = [];
 				d_meta = []
 				d_meta = []

+ 8 - 0
tests/misc/projects/Issue9514/Main.hx

@@ -0,0 +1,8 @@
+import haxe.Exception;
+
+var one = 1;
+var two = one + 1;
+
+function main() {
+	if (two == 2) Sys.stderr().writeString("Success");
+}

+ 3 - 0
tests/misc/projects/Issue9514/compile.hxml

@@ -0,0 +1,3 @@
+-cp src
+-main Main
+--interp

+ 1 - 0
tests/misc/projects/Issue9514/compile.hxml.stderr

@@ -0,0 +1 @@
+Success