2
0
Эх сурвалжийг харах

[as3] fixed "inifinite recursion" compiler error for classes named "Object"

Alexander Kuzmenko 7 жил өмнө
parent
commit
91b8655c0a

+ 1 - 0
extra/CHANGES.txt

@@ -4,6 +4,7 @@
 
 	all : fixed a bug when Haxe compiler couldn't find std lib on Linux if executed by another program
 	php7 : fixed an issue with "Object" used as a class name for PHP 7.2 (it's a new keyword in php) (#6838)
+	as3 : fixed "inifinite recursion" compiler error for classes named "Object"
 
 2018-01-31: 3.4.5
 

+ 1 - 1
src/generators/genas3.ml

@@ -75,7 +75,7 @@ let is_fixed_override cf t =
 
 let protect name =
 	match name with
-	| "Error" | "Namespace" -> "_" ^ name
+	| "Error" | "Namespace" | "Object" -> "_" ^ name
 	| _ -> name
 
 let s_path ctx stat path p =

+ 7 - 1
std/flash/_std/Type.hx

@@ -80,7 +80,13 @@ enum ValueType {
 		#end
 		default:
 		}
-		return str.split("::").join(".");
+		var parts = str.split("::");
+		#if as3
+		if(parts[parts.length - 1] == "_Object") {
+			parts[parts.length - 1] = "Object";
+		}
+		#end
+		return parts.join(".");
 	}
 
 	public static function getEnumName( e : Enum<Dynamic> ) : String {