Sfoglia il codice sorgente

fixed static null field access

Nicolas Cannasse 17 anni fa
parent
commit
bd87e457d0
1 ha cambiato i file con 4 aggiunte e 0 eliminazioni
  1. 4 0
      typer.ml

+ 4 - 0
typer.ml

@@ -254,6 +254,10 @@ let field_access ctx get f t e p =
 		let normal = AccExpr (mk (TField (e,f.cf_name)) t p) in
 		(match follow e.etype with
 		| TInst (c,_) when is_parent c ctx.curclass -> normal
+		| TAnon a ->
+			(match !(a.a_status) with
+			| Statics c2 when ctx.curclass == c2 -> normal
+			| _ -> if ctx.untyped then normal else AccNo f.cf_name)
 		| _ ->
 			if ctx.untyped then normal else AccNo f.cf_name)
 	| F9MethodAccess when not ctx.untyped ->