瀏覽代碼

"throw" treated as "return" in return_flow.

Nicolas Cannasse 19 年之前
父節點
當前提交
58e31e4992
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      typer.ml

+ 2 - 2
typer.ml

@@ -253,14 +253,14 @@ let t_iterator ctx =
 let rec return_flow e =
 	let error() = error "A return is missing here" e.epos in
 	match e.eexpr with
-	| TReturn _ -> ()
+	| TReturn _ | TThrow _ -> ()
 	| TParenthesis e -> 
 		return_flow e
 	| TBlock el ->
 		let rec loop = function
 			| [] -> error()
 			| [e] -> return_flow e
-			| { eexpr = TReturn _ } :: _ -> ()
+			| { eexpr = TReturn _ } :: _ | { eexpr = TThrow _ } :: _ -> ()			
 			| _ :: l -> loop l
 		in
 		loop el