Bläddra i källkod

remove java.lang.String hacks

Simon Krajewski 9 månader sedan
förälder
incheckning
bfefe20bfd

+ 10 - 14
src/codegen/javaModern.ml

@@ -682,7 +682,7 @@ module SignatureConverter = struct
 		| TBool -> mk_type_path ([], "Bool") [] p
 		| TObject ( (["haxe";"root"], name), args ) -> mk_type_path ([], name) (List.map (convert_arg ctx p) args) p
 		| TObject ( (["java";"lang"], "Object"), [] ) -> mk_type_path ([], "Dynamic") [] p
-		| TObject ( (["java";"lang"], "String"), [] ) -> mk_type_path ([], "String") [] p
+		| TObject ( (["java";"lang"], "String"), [] ) -> mk_type_path (["std"], "String") [] p
 		| TObject ( (["java";"lang"], "Enum"), [_] ) -> mk_type_path ([], "EnumValue") [] p
 		| TObject ( path, [] ) ->
 			mk_type_path path [] p
@@ -1076,20 +1076,16 @@ class java_library_modern com name file_path = object(self)
 
 	method build path (p : pos) : Ast.package option =
 		let build path =
-			if path = (["java";"lang"],"String") then
+			try
+				let entries = Hashtbl.find_all modules path in
+				if entries = [] then raise Not_found;
+				let zip = Lazy.force zip in
+				let jcs = List.map (self#read zip) entries in
+				Std.finally (Timer.timer ["jar";"convert"]) (fun () ->
+					Some (Converter.convert_module (fst path) jcs)
+				) ();
+			with Not_found ->
 				None
-			else begin
-				try
-					let entries = Hashtbl.find_all modules path in
-					if entries = [] then raise Not_found;
-					let zip = Lazy.force zip in
-					let jcs = List.map (self#read zip) entries in
-					Std.finally (Timer.timer ["jar";"convert"]) (fun () ->
-						Some (Converter.convert_module (fst path) jcs)
-					) ();
-				with Not_found ->
-					None
-			end
 		in
 		build path
 

+ 1 - 1
src/compiler/args.ml

@@ -360,7 +360,7 @@ let parse_args com =
 			actx.pre_compilation <- (fun() ->
 				let process_lib lib =
 					if not (lib#has_flag NativeLibraries.FlagIsStd) then
-						List.iter (fun path -> if path <> (["java";"lang"],"String") then actx.classes <- path :: actx.classes) lib#list_modules
+						List.iter (fun path -> actx.classes <- path :: actx.classes) lib#list_modules
 				in
 				List.iter process_lib com.native_libs.swf_libs;
 				List.iter process_lib com.native_libs.java_libs;

+ 2 - 0
std/java/lang/Boolean.hx

@@ -22,6 +22,8 @@
 
 package java.lang;
 
+private typedef String = std.String; // TODO: #11830
+
 @:native("") // make sure the generator won't see this
 @:transitive
 @:forwardStatics

+ 2 - 0
std/java/lang/Byte.hx

@@ -22,6 +22,8 @@
 
 package java.lang;
 
+private typedef String = std.String; // TODO: #11830
+
 @:native("") // make sure the generator won't see this
 @:transitive
 @:forwardStatics

+ 2 - 0
std/java/lang/Character.hx

@@ -22,6 +22,8 @@
 
 package java.lang;
 
+private typedef String = std.String; // TODO: #11830
+
 @:native("") // make sure the generator won't see this
 @:transitive
 @:forwardStatics

+ 2 - 0
std/java/lang/Double.hx

@@ -22,6 +22,8 @@
 
 package java.lang;
 
+private typedef String = std.String; // TODO: #11830
+
 @:native("") // make sure the generator won't see this
 @:transitive
 @:forwardStatics

+ 2 - 0
std/java/lang/Float.hx

@@ -22,6 +22,8 @@
 
 package java.lang;
 
+private typedef String = std.String; // TODO: #11830
+
 @:native("") // make sure the generator won't see this
 @:transitive
 @:forwardStatics

+ 2 - 0
std/java/lang/Integer.hx

@@ -22,6 +22,8 @@
 
 package java.lang;
 
+private typedef String = std.String; // TODO: #11830
+
 @:native("") // make sure the generator won't see this
 @:transitive
 @:forwardStatics

+ 2 - 0
std/java/lang/Long.hx

@@ -22,6 +22,8 @@
 
 package java.lang;
 
+private typedef String = std.String; // TODO: #11830
+
 @:native("") // make sure the generator won't see this
 @:transitive
 @:forwardStatics

+ 2 - 0
std/java/lang/Short.hx

@@ -22,6 +22,8 @@
 
 package java.lang;
 
+private typedef String = std.String; // TODO: #11830
+
 @:native("") // make sure the generator won't see this
 @:transitive
 @:forwardStatics