|
@@ -102,7 +102,7 @@ let rec func ctx bb tf t p =
|
|
block_element bb e,e1
|
|
block_element bb e,e1
|
|
| TBlock [e1] ->
|
|
| TBlock [e1] ->
|
|
value bb e1
|
|
value bb e1
|
|
- | TBlock _ | TIf _ | TSwitch _ | TTry _ ->
|
|
|
|
|
|
+ | TBlock _ | TIf(_,_,Some _) | TSwitch _ | TTry _ ->
|
|
bind_to_temp bb e
|
|
bind_to_temp bb e
|
|
| TCall({eexpr = TIdent s},el) when is_really_unbound s ->
|
|
| TCall({eexpr = TIdent s},el) when is_really_unbound s ->
|
|
check_unbound_call s el;
|
|
check_unbound_call s el;
|
|
@@ -178,7 +178,7 @@ let rec func ctx bb tf t p =
|
|
| TThrow _ | TReturn _ | TBreak | TContinue ->
|
|
| TThrow _ | TReturn _ | TBreak | TContinue ->
|
|
let bb = block_element bb e in
|
|
let bb = block_element bb e in
|
|
bb,mk (TConst TNull) t_dynamic e.epos
|
|
bb,mk (TConst TNull) t_dynamic e.epos
|
|
- | TVar _ | TFor _ | TWhile _ ->
|
|
|
|
|
|
+ | TVar _ | TFor _ | TWhile _ | TIf _ ->
|
|
Error.raise_typing_error "Cannot use this expression as value" e.epos
|
|
Error.raise_typing_error "Cannot use this expression as value" e.epos
|
|
and value bb e =
|
|
and value bb e =
|
|
let bb,e = value' bb e in
|
|
let bb,e = value' bb e in
|