This repository was archived by the owner on Jun 15, 2023. It is now read-only.
File tree 1 file changed +12
-7
lines changed 1 file changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -3014,11 +3014,7 @@ and parseElseBranch p =
3014
3014
Parser. expect Rbrace p;
3015
3015
blockExpr;
3016
3016
3017
- and parseIfExpression p =
3018
- Parser. beginRegion p;
3019
- Parser. leaveBreadcrumb p Grammar. ExprIf ;
3020
- let startPos = p.Parser. startPos in
3021
- Parser. expect If p;
3017
+ and parseIfBody startPos p =
3022
3018
let conditionExpr = parseIfCondition p in
3023
3019
let thenExpr = parseIfBranch p in
3024
3020
let elseExpr = match p.Parser. token with
@@ -3029,7 +3025,8 @@ and parseIfExpression p =
3029
3025
Parser. beginRegion p;
3030
3026
let elseExpr = match p.token with
3031
3027
| If ->
3032
- parseIfExpression p
3028
+ Parser. next p;
3029
+ parseIfBody startPos p
3033
3030
| _ ->
3034
3031
parseElseBranch p
3035
3032
in
@@ -3041,9 +3038,17 @@ and parseIfExpression p =
3041
3038
None
3042
3039
in
3043
3040
let loc = mkLoc startPos p.prevEndPos in
3044
- Parser. eatBreadcrumb p;
3045
3041
Ast_helper.Exp. ifthenelse ~loc conditionExpr thenExpr elseExpr
3046
3042
3043
+ and parseIfExpression p =
3044
+ Parser. beginRegion p;
3045
+ Parser. leaveBreadcrumb p Grammar. ExprIf ;
3046
+ let startPos = p.Parser. startPos in
3047
+ Parser. expect If p;
3048
+ let ifBody = parseIfBody startPos p in
3049
+ Parser. eatBreadcrumb p;
3050
+ ifBody;
3051
+
3047
3052
and parseForRest hasOpeningParen pattern startPos p =
3048
3053
Parser. expect In p;
3049
3054
let e1 = parseExpr p in
You can’t perform that action at this time.
0 commit comments