浏览代码

handle private classes correctly when dealing with ACL (closes #2555)

Simon Krajewski 11 年之前
父节点
当前提交
7d316d8e54
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      typer.ml

+ 1 - 0
typer.ml

@@ -232,6 +232,7 @@ let rec can_access ctx ?(in_overload=false) c cf stat =
 	(* has metadata path *)
 	(* has metadata path *)
 	let make_path c f = match c.cl_kind with
 	let make_path c f = match c.cl_kind with
 		| KAbstractImpl a -> fst a.a_path @ [snd a.a_path; f.cf_name]
 		| KAbstractImpl a -> fst a.a_path @ [snd a.a_path; f.cf_name]
+		| _ when c.cl_private -> [snd c.cl_path; f.cf_name]
 		| _ -> fst c.cl_path @ [snd c.cl_path; f.cf_name]
 		| _ -> fst c.cl_path @ [snd c.cl_path; f.cf_name]
 	in
 	in
 	let rec expr_path acc e =
 	let rec expr_path acc e =