Przeglądaj źródła

[cs] Correctly generate @:native classes on inner types. Closes #3558

Cauê Waneck 10 lat temu
rodzic
commit
179d14f8af
2 zmienionych plików z 10 dodań i 3 usunięć
  1. 3 3
      gencs.ml
  2. 7 0
      tests/unit/src/unit/issues/Issue3558.hx

+ 3 - 3
gencs.ml

@@ -753,7 +753,7 @@ let configure gen =
 			let needed,params = loop 0 [] params in
 			let part = change_id part in
 			(part ^ "<" ^ (String.concat ", " needed) ^ ">")::ns, params
-		with _ ->
+		with _ -> (* Invalid_string / int_of_string *)
 			(change_id nspart)::ns, params
 		) ([],params) ns
 		in
@@ -3418,8 +3418,8 @@ let rec convert_signature ctx p = function
 
 let ilpath_s = function
 	| ns,[], name -> path_s (ns,name)
-	| [],nested,name -> String.concat "#" nested ^ "." ^ name
-	| ns, nested, name -> String.concat "." ns ^ "." ^ String.concat "#" nested ^ "." ^ name
+	| [],nested,name -> String.concat "." nested ^ "." ^ name
+	| ns, nested, name -> String.concat "." ns ^ "." ^ String.concat "." nested ^ "." ^ name
 
 let get_cls = function
 	| _,_,c -> c

+ 7 - 0
tests/unit/src/unit/issues/Issue3558.hx

@@ -24,6 +24,13 @@ class Issue3558 extends Test
 			eq(cur.Key,10);
 			eq(cur.Value,"11");
 		}
+
+		var en = dict.Values.GetEnumerator();
+		while (en.MoveNext())
+		{
+			var cur = en.Current;
+			eq(cur,"11");
+		}
 	}
 #end