瀏覽代碼

[jvm] fixed `Type.getEnumName` for enums in root package (closes #9759)

Aleksandr Kuzmenko 5 年之前
父節點
當前提交
615dc75ba5
共有 2 個文件被更改,包括 12 次插入1 次删除
  1. 4 1
      std/jvm/_std/Type.hx
  2. 8 0
      tests/unit/src/unit/issues/Issue9759.hx

+ 4 - 1
std/jvm/_std/Type.hx

@@ -86,7 +86,10 @@ class Type {
 	}
 
 	public static function getEnumName(e:Enum<Dynamic>):String {
-		return e.native().getName();
+		return switch e.native().getName() {
+			case s if(s.indexOf("haxe.root.") == 0): s.substr(10);
+			case s: s;
+		}
 	}
 
 	public static function resolveClass(name:String):Class<Dynamic> {

+ 8 - 0
tests/unit/src/unit/issues/Issue9759.hx

@@ -0,0 +1,8 @@
+package unit.issues;
+
+class Issue9759 extends unit.Test {
+	var e = RootEnum;
+	function test() {
+		eq('RootEnum', Type.getEnumName(e));
+	}
+}