Nicolas Cannasse 17 年之前
父节点
当前提交
c178d4fd6b
共有 2 个文件被更改,包括 13 次插入2 次删除
  1. 2 1
      doc/CHANGES.txt
  2. 11 1
      genswf9.ml

+ 2 - 1
doc/CHANGES.txt

@@ -7,8 +7,9 @@ TODO inlining : allow inlined getter/setter
 TODO inlining : substitute class+function type parameters in order to have fully typed expressions
 
 2008-??-??: 2.0
-	remove neko max array declaration (fixed in 1.7.0)
+	genneko : remove big array error (fixed in neko 1.7.1)
 	fixed neko.net.ThreadRemotingServer.onXML
+	genswf9 : fixed verify error with Null<Class> (was using dynamic access)
 
 2008-04-05: 1.19
 	fixed flash9 Array.toString

+ 11 - 1
genswf9.ml

@@ -172,7 +172,17 @@ let rec follow_basic t =
 		| _ -> t)
 	| TLazy f ->
 		follow_basic (!f())
-	| TType (t,tl) when t.t_path <> ([],"Null") && t.t_path <> ([],"UInt") ->
+	| TType ({ t_path = [],"Null" },[tp]) ->
+		(match follow tp with
+		| TMono _
+		| TFun _
+		| TInst ({ cl_path = ([],"Int") },[])
+		| TInst ({ cl_path = ([],"Float") },[])
+		| TEnum ({ e_path = ([],"Bool") },[]) -> t
+		| _ -> tp)
+	| TType ({ t_path = [],"UInt" },[]) ->
+		t
+	| TType (t,tl) ->
 		follow_basic (apply_params t.t_types tl t.t_type)
 	| _ -> t