소스 검색

[cs] generate "else if" without extra blocks

Dan Korostelev 11 년 전
부모
커밋
c0813e93f6
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      gencs.ml

+ 6 - 1
gencs.ml

@@ -1399,7 +1399,12 @@ let configure gen =
 						| Some e ->
 							write w "else ";
 							in_value := false;
-							expr_s w (mk_block e)
+							let e = match e.eexpr with
+								| TIf _ -> e
+								| TBlock [{eexpr = TIf _} as e] -> e
+								| _ -> mk_block e
+							in
+							expr_s w e
 					)
 				| TWhile (econd, eblock, flag) ->
 					(match flag with