Преглед на файлове

fixed bug with deep local variable usage.

Nicolas Cannasse преди 20 години
родител
ревизия
78c51a8534
променени са 1 файла, в които са добавени 2 реда и са изтрити 1 реда
  1. 2 1
      genswf8.ml

+ 2 - 1
genswf8.ml

@@ -327,7 +327,8 @@ let cfind flag cst e =
 	let vname = (match cst with TConst TSuper -> "super" | TLocal v -> v | _ -> assert false) in
 	let rec loop2 e =
 		match e.eexpr with
-		| TFunction _ -> ()
+		| TFunction f ->
+			if not flag && not (List.exists (fun (a,_) -> a = vname) f.tf_args) then loop2 f.tf_expr
 		| TBlock _ ->
 			(try
 				iter loop2 e;