Pārlūkot izejas kodu

fix to DCE ?keep issue

Franco Ponticelli 14 gadi atpakaļ
vecāks
revīzija
1f672648cb
1 mainītis faili ar 3 papildinājumiem un 3 dzēšanām
  1. 3 3
      typeload.ml

+ 3 - 3
typeload.ml

@@ -713,7 +713,7 @@ let init_class ctx c p herits fields =
 		| _ -> ()) 
 	in
 	let remove_var_if_unreferenced cf stat = (fun () ->	
-		if not (has_meta "?keep" cf.cf_meta) then begin
+		if not (has_meta ":?keep" cf.cf_meta) then begin
 			if ctx.com.verbose then print_endline ("Remove var " ^ (s_type_path c.cl_path) ^ "." ^ cf.cf_name);
 			remove_field cf stat
 		end)
@@ -782,7 +782,7 @@ let init_class ctx c p herits fields =
 				| None ->
 					let r = exc_protect (fun r ->
 						r := (fun() -> t);
-						cf.cf_meta <- if has_meta "?keep" cf.cf_meta then f.cff_meta else ("?keep", [], p) :: f.cff_meta;
+						cf.cf_meta <- if has_meta ":?keep" cf.cf_meta then f.cff_meta else (":?keep", [], p) :: f.cff_meta;
 						t
 					) in
 					cf.cf_type <- TLazy r;
@@ -797,7 +797,7 @@ let init_class ctx c p herits fields =
 					let r = exc_protect (fun r ->
 						r := (fun() -> t);
 						if ctx.com.verbose then print_endline ("Typing " ^ s_type_path c.cl_path ^ "." ^ name);
-						cf.cf_meta <- if has_meta "?keep" cf.cf_meta then f.cff_meta else ("?keep", [], p) :: f.cff_meta;
+						cf.cf_meta <- if has_meta ":?keep" cf.cf_meta then f.cff_meta else (":?keep", [], p) :: f.cff_meta;
 						cf.cf_expr <- Some (type_static_var ctx t e p);
 						t
 					) in