Support if-let in scopes

This commit is contained in:
Aleksey Kladov 2018-08-27 12:22:09 +03:00
parent c16530c988
commit 07cbb7d73d
12 changed files with 289 additions and 104 deletions

View file

@ -15,8 +15,9 @@ ROOT@[0; 107)
IF_EXPR@[15; 25)
IF_KW@[15; 17)
WHITESPACE@[17; 18)
LITERAL@[18; 22)
TRUE_KW@[18; 22)
CONDITION@[18; 22)
LITERAL@[18; 22)
TRUE_KW@[18; 22)
WHITESPACE@[22; 23)
BLOCK@[23; 25)
L_CURLY@[23; 24)
@ -27,8 +28,9 @@ ROOT@[0; 107)
IF_EXPR@[31; 49)
IF_KW@[31; 33)
WHITESPACE@[33; 34)
LITERAL@[34; 38)
TRUE_KW@[34; 38)
CONDITION@[34; 38)
LITERAL@[34; 38)
TRUE_KW@[34; 38)
WHITESPACE@[38; 39)
BLOCK@[39; 41)
L_CURLY@[39; 40)
@ -45,8 +47,9 @@ ROOT@[0; 107)
IF_EXPR@[55; 90)
IF_KW@[55; 57)
WHITESPACE@[57; 58)
LITERAL@[58; 62)
TRUE_KW@[58; 62)
CONDITION@[58; 62)
LITERAL@[58; 62)
TRUE_KW@[58; 62)
WHITESPACE@[62; 63)
BLOCK@[63; 65)
L_CURLY@[63; 64)
@ -57,8 +60,9 @@ ROOT@[0; 107)
IF_EXPR@[71; 90)
IF_KW@[71; 73)
WHITESPACE@[73; 74)
LITERAL@[74; 79)
FALSE_KW@[74; 79)
CONDITION@[74; 79)
LITERAL@[74; 79)
FALSE_KW@[74; 79)
WHITESPACE@[79; 80)
BLOCK@[80; 82)
L_CURLY@[80; 81)
@ -75,11 +79,12 @@ ROOT@[0; 107)
IF_EXPR@[96; 103)
IF_KW@[96; 98)
WHITESPACE@[98; 99)
PATH_EXPR@[99; 100)
PATH@[99; 100)
PATH_SEGMENT@[99; 100)
NAME_REF@[99; 100)
IDENT@[99; 100) "S"
CONDITION@[99; 100)
PATH_EXPR@[99; 100)
PATH@[99; 100)
PATH_SEGMENT@[99; 100)
NAME_REF@[99; 100)
IDENT@[99; 100) "S"
WHITESPACE@[100; 101)
BLOCK@[101; 103)
L_CURLY@[101; 102)

View file

@ -14,25 +14,26 @@ ROOT@[0; 38)
IF_EXPR@[11; 35)
IF_KW@[11; 13)
WHITESPACE@[13; 14)
LET_KW@[14; 17)
WHITESPACE@[17; 18)
TUPLE_STRUCT_PAT@[18; 25)
PATH@[18; 22)
PATH_SEGMENT@[18; 22)
NAME_REF@[18; 22)
IDENT@[18; 22) "Some"
L_PAREN@[22; 23)
PLACEHOLDER_PAT@[23; 24)
UNDERSCORE@[23; 24)
R_PAREN@[24; 25)
WHITESPACE@[25; 26)
EQ@[26; 27)
WHITESPACE@[27; 28)
PATH_EXPR@[28; 32)
PATH@[28; 32)
PATH_SEGMENT@[28; 32)
NAME_REF@[28; 32)
IDENT@[28; 32) "None"
CONDITION@[14; 32)
LET_KW@[14; 17)
WHITESPACE@[17; 18)
TUPLE_STRUCT_PAT@[18; 25)
PATH@[18; 22)
PATH_SEGMENT@[18; 22)
NAME_REF@[18; 22)
IDENT@[18; 22) "Some"
L_PAREN@[22; 23)
PLACEHOLDER_PAT@[23; 24)
UNDERSCORE@[23; 24)
R_PAREN@[24; 25)
WHITESPACE@[25; 26)
EQ@[26; 27)
WHITESPACE@[27; 28)
PATH_EXPR@[28; 32)
PATH@[28; 32)
PATH_SEGMENT@[28; 32)
NAME_REF@[28; 32)
IDENT@[28; 32) "None"
WHITESPACE@[32; 33)
BLOCK@[33; 35)
L_CURLY@[33; 34)

View file

@ -15,8 +15,9 @@ ROOT@[0; 70)
WHILE_EXPR@[15; 28)
WHILE_KW@[15; 20)
WHITESPACE@[20; 21)
LITERAL@[21; 25)
TRUE_KW@[21; 25)
CONDITION@[21; 25)
LITERAL@[21; 25)
TRUE_KW@[21; 25)
WHITESPACE@[25; 26)
BLOCK@[26; 28)
L_CURLY@[26; 27)
@ -27,33 +28,34 @@ ROOT@[0; 70)
WHILE_EXPR@[34; 66)
WHILE_KW@[34; 39)
WHITESPACE@[39; 40)
LET_KW@[40; 43)
WHITESPACE@[43; 44)
TUPLE_STRUCT_PAT@[44; 51)
PATH@[44; 48)
PATH_SEGMENT@[44; 48)
NAME_REF@[44; 48)
IDENT@[44; 48) "Some"
L_PAREN@[48; 49)
BIND_PAT@[49; 50)
NAME@[49; 50)
IDENT@[49; 50) "x"
R_PAREN@[50; 51)
WHITESPACE@[51; 52)
EQ@[52; 53)
WHITESPACE@[53; 54)
METHOD_CALL_EXPR@[54; 63)
PATH_EXPR@[54; 56)
PATH@[54; 56)
PATH_SEGMENT@[54; 56)
NAME_REF@[54; 56)
IDENT@[54; 56) "it"
DOT@[56; 57)
NAME_REF@[57; 61)
IDENT@[57; 61) "next"
ARG_LIST@[61; 63)
L_PAREN@[61; 62)
R_PAREN@[62; 63)
CONDITION@[40; 63)
LET_KW@[40; 43)
WHITESPACE@[43; 44)
TUPLE_STRUCT_PAT@[44; 51)
PATH@[44; 48)
PATH_SEGMENT@[44; 48)
NAME_REF@[44; 48)
IDENT@[44; 48) "Some"
L_PAREN@[48; 49)
BIND_PAT@[49; 50)
NAME@[49; 50)
IDENT@[49; 50) "x"
R_PAREN@[50; 51)
WHITESPACE@[51; 52)
EQ@[52; 53)
WHITESPACE@[53; 54)
METHOD_CALL_EXPR@[54; 63)
PATH_EXPR@[54; 56)
PATH@[54; 56)
PATH_SEGMENT@[54; 56)
NAME_REF@[54; 56)
IDENT@[54; 56) "it"
DOT@[56; 57)
NAME_REF@[57; 61)
IDENT@[57; 61) "next"
ARG_LIST@[61; 63)
L_PAREN@[61; 62)
R_PAREN@[62; 63)
WHITESPACE@[63; 64)
BLOCK@[64; 66)
L_CURLY@[64; 65)

View file

@ -15,8 +15,9 @@ ROOT@[0; 107)
IF_EXPR@[15; 25)
IF_KW@[15; 17)
WHITESPACE@[17; 18)
LITERAL@[18; 22)
TRUE_KW@[18; 22)
CONDITION@[18; 22)
LITERAL@[18; 22)
TRUE_KW@[18; 22)
WHITESPACE@[22; 23)
BLOCK@[23; 25)
L_CURLY@[23; 24)
@ -46,8 +47,9 @@ ROOT@[0; 107)
WHILE_EXPR@[58; 71)
WHILE_KW@[58; 63)
WHITESPACE@[63; 64)
LITERAL@[64; 68)
TRUE_KW@[64; 68)
CONDITION@[64; 68)
LITERAL@[64; 68)
TRUE_KW@[64; 68)
WHITESPACE@[68; 69)
BLOCK@[69; 71)
L_CURLY@[69; 70)

View file

@ -31,8 +31,9 @@ ROOT@[0; 74)
WHITESPACE@[34; 35)
WHILE_KW@[35; 40)
WHITESPACE@[40; 41)
LITERAL@[41; 45)
TRUE_KW@[41; 45)
CONDITION@[41; 45)
LITERAL@[41; 45)
TRUE_KW@[41; 45)
WHITESPACE@[45; 46)
BLOCK@[46; 48)
L_CURLY@[46; 47)