Browse Source

fixed bug with deep local variable usage.

Nicolas Cannasse 20 years ago
parent
commit
78c51a8534
1 changed files with 2 additions and 1 deletions
  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;