Handle self/super/crate in PathSegment as NameRef

This commit is contained in:
Lukas Wirth 2021-01-15 18:57:32 +01:00
parent 0c58aa9dc0
commit cb863390f2
42 changed files with 258 additions and 254 deletions

View file

@ -49,7 +49,8 @@ SOURCE_FILE@0..183
PATH_EXPR@67..71
PATH@67..71
PATH_SEGMENT@67..71
SELF_KW@67..71 "self"
NAME_REF@67..71
SELF_KW@67..71 "self"
DOT@71..72 "."
NAME_REF@72..78
IDENT@72..78 "scopes"
@ -66,7 +67,8 @@ SOURCE_FILE@0..183
PATH_EXPR@94..98
PATH@94..98
PATH_SEGMENT@94..98
SELF_KW@94..98 "self"
NAME_REF@94..98
SELF_KW@94..98 "self"
DOT@98..99 "."
NAME_REF@99..105
IDENT@99..105 "scopes"

View file

@ -24,7 +24,8 @@ SOURCE_FILE@0..48
PATH@22..32
PATH@22..27
PATH_SEGMENT@22..27
CRATE_KW@22..27 "crate"
NAME_REF@22..27
CRATE_KW@22..27 "crate"
COLON2@27..29 "::"
PATH_SEGMENT@29..32
NAME_REF@29..32

View file

@ -6,7 +6,8 @@ SOURCE_FILE@0..98
PATH@4..11
PATH_SEGMENT@4..11
COLON2@4..6 "::"
CRATE_KW@6..11 "crate"
NAME_REF@6..11
CRATE_KW@6..11 "crate"
SEMICOLON@11..12 ";"
WHITESPACE@12..13 "\n"
USE@13..54
@ -18,7 +19,8 @@ SOURCE_FILE@0..98
USE_TREE@18..23
PATH@18..23
PATH_SEGMENT@18..23
CRATE_KW@18..23 "crate"
NAME_REF@18..23
CRATE_KW@18..23 "crate"
COMMA@23..24 ","
WHITESPACE@24..25 " "
USE_TREE@25..52
@ -35,7 +37,8 @@ SOURCE_FILE@0..98
PATH@31..41
PATH@31..36
PATH_SEGMENT@31..36
CRATE_KW@31..36 "crate"
NAME_REF@31..36
CRATE_KW@31..36 "crate"
COLON2@36..38 "::"
PATH_SEGMENT@38..41
NAME_REF@38..41
@ -63,7 +66,8 @@ SOURCE_FILE@0..98
IDENT@59..64 "hello"
COLON2@64..66 "::"
PATH_SEGMENT@66..71
CRATE_KW@66..71 "crate"
NAME_REF@66..71
CRATE_KW@66..71 "crate"
SEMICOLON@71..72 ";"
WHITESPACE@72..73 "\n"
USE@73..97
@ -78,7 +82,8 @@ SOURCE_FILE@0..98
IDENT@77..82 "hello"
COLON2@82..84 "::"
PATH_SEGMENT@84..89
CRATE_KW@84..89 "crate"
NAME_REF@84..89
CRATE_KW@84..89 "crate"
COLON2@89..91 "::"
PATH_SEGMENT@91..96
NAME_REF@91..96

View file

@ -6,7 +6,8 @@ SOURCE_FILE@0..67
PATH@4..11
PATH_SEGMENT@4..11
COLON2@4..6 "::"
SUPER_KW@6..11 "super"
NAME_REF@6..11
SUPER_KW@6..11 "super"
SEMICOLON@11..12 ";"
WHITESPACE@12..13 "\n"
USE@13..26
@ -20,7 +21,8 @@ SOURCE_FILE@0..67
IDENT@17..18 "a"
COLON2@18..20 "::"
PATH_SEGMENT@20..25
SUPER_KW@20..25 "super"
NAME_REF@20..25
SUPER_KW@20..25 "super"
SEMICOLON@25..26 ";"
WHITESPACE@26..27 "\n"
USE@27..47
@ -31,14 +33,16 @@ SOURCE_FILE@0..67
PATH@31..39
PATH@31..36
PATH_SEGMENT@31..36
SUPER_KW@31..36 "super"
NAME_REF@31..36
SUPER_KW@31..36 "super"
COLON2@36..38 "::"
PATH_SEGMENT@38..39
NAME_REF@38..39
IDENT@38..39 "a"
COLON2@39..41 "::"
PATH_SEGMENT@41..46
SUPER_KW@41..46 "super"
NAME_REF@41..46
SUPER_KW@41..46 "super"
SEMICOLON@46..47 ";"
WHITESPACE@47..48 "\n"
USE@48..66
@ -56,7 +60,8 @@ SOURCE_FILE@0..67
PATH@56..64
PATH@56..61
PATH_SEGMENT@56..61
SUPER_KW@56..61 "super"
NAME_REF@56..61
SUPER_KW@56..61 "super"
COLON2@61..63 "::"
PATH_SEGMENT@63..64
NAME_REF@63..64

View file

@ -6,7 +6,8 @@ SOURCE_FILE@0..25
PATH@4..10
PATH_SEGMENT@4..10
COLON2@4..6 "::"
SELF_KW@6..10 "self"
NAME_REF@6..10
SELF_KW@6..10 "self"
SEMICOLON@10..11 ";"
WHITESPACE@11..12 "\n"
USE@12..24
@ -20,7 +21,8 @@ SOURCE_FILE@0..25
IDENT@16..17 "a"
COLON2@17..19 "::"
PATH_SEGMENT@19..23
SELF_KW@19..23 "self"
NAME_REF@19..23
SELF_KW@19..23 "self"
SEMICOLON@23..24 ";"
WHITESPACE@24..25 "\n"
error 6..10: The `self` keyword is only allowed as the first segment of a path

View file

@ -6,7 +6,8 @@ SOURCE_FILE@0..13
PATH@4..11
PATH@4..9
PATH_SEGMENT@4..9
CRATE_KW@4..9 "crate"
NAME_REF@4..9
CRATE_KW@4..9 "crate"
COLON2@9..11 "::"
SEMICOLON@11..12 ";"
WHITESPACE@12..13 "\n"

View file

@ -11,7 +11,8 @@ SOURCE_FILE@0..248
PATH@5..16
PATH@5..10
PATH_SEGMENT@5..10
CRATE_KW@5..10 "crate"
NAME_REF@5..10
CRATE_KW@5..10 "crate"
COLON2@10..12 "::"
PATH_SEGMENT@12..16
NAME_REF@12..16

View file

@ -42,7 +42,8 @@ SOURCE_FILE@0..71
PATH@39..48
PATH@39..43
PATH_SEGMENT@39..43
SELF_KW@39..43 "self"
NAME_REF@39..43
SELF_KW@39..43 "self"
COLON2@43..45 "::"
PATH_SEGMENT@45..48
NAME_REF@45..48
@ -61,7 +62,8 @@ SOURCE_FILE@0..71
PATH@59..69
PATH@59..64
PATH_SEGMENT@59..64
SUPER_KW@59..64 "super"
NAME_REF@59..64
SUPER_KW@59..64 "super"
COLON2@64..66 "::"
PATH_SEGMENT@66..69
NAME_REF@66..69

View file

@ -43,7 +43,8 @@ SOURCE_FILE@0..70
PATH@45..55
PATH@45..50
PATH_SEGMENT@45..50
SUPER_KW@45..50 "super"
NAME_REF@45..50
SUPER_KW@45..50 "super"
COLON2@50..52 "::"
PATH_SEGMENT@52..55
NAME_REF@52..55

View file

@ -6,7 +6,8 @@ SOURCE_FILE@0..16
PATH@4..14
PATH@4..9
PATH_SEGMENT@4..9
CRATE_KW@4..9 "crate"
NAME_REF@4..9
CRATE_KW@4..9 "crate"
COLON2@9..11 "::"
PATH_SEGMENT@11..14
NAME_REF@11..14

View file

@ -5,7 +5,8 @@ SOURCE_FILE@0..37
USE_TREE@4..17
PATH@4..9
PATH_SEGMENT@4..9
CRATE_KW@4..9 "crate"
NAME_REF@4..9
CRATE_KW@4..9 "crate"
COLON2@9..11 "::"
USE_TREE_LIST@11..17
L_CURLY@11..12 "{"
@ -23,7 +24,8 @@ SOURCE_FILE@0..37
USE_TREE@23..35
PATH@23..27
PATH_SEGMENT@23..27
SELF_KW@23..27 "self"
NAME_REF@23..27
SELF_KW@23..27 "self"
COLON2@27..29 "::"
USE_TREE_LIST@29..35
L_CURLY@29..30 "{"

View file

@ -30,7 +30,8 @@ SOURCE_FILE@0..41
PATH@26..36
PATH@26..31
PATH_SEGMENT@26..31
CRATE_KW@26..31 "crate"
NAME_REF@26..31
CRATE_KW@26..31 "crate"
COLON2@31..33 "::"
PATH_SEGMENT@33..36
NAME_REF@33..36

View file

@ -17,7 +17,8 @@ SOURCE_FILE@0..27
PATH@11..21
PATH@11..16
PATH_SEGMENT@11..16
CRATE_KW@11..16 "crate"
NAME_REF@11..16
CRATE_KW@11..16 "crate"
COLON2@16..18 "::"
PATH_SEGMENT@18..21
NAME_REF@18..21

View file

@ -16,7 +16,8 @@ SOURCE_FILE@0..53
PATH@14..22
PATH@14..19
PATH_SEGMENT@14..19
SUPER_KW@14..19 "super"
NAME_REF@14..19
SUPER_KW@14..19 "super"
COLON2@19..21 "::"
PATH_SEGMENT@21..22
NAME_REF@21..22
@ -42,7 +43,8 @@ SOURCE_FILE@0..53
PATH@40..48
PATH@40..45
PATH_SEGMENT@40..45
CRATE_KW@40..45 "crate"
NAME_REF@40..45
CRATE_KW@40..45 "crate"
COLON2@45..47 "::"
PATH_SEGMENT@47..48
NAME_REF@47..48

View file

@ -6,7 +6,8 @@ SOURCE_FILE@0..38
PATH@4..13
PATH@4..8
PATH_SEGMENT@4..8
SELF_KW@4..8 "self"
NAME_REF@4..8
SELF_KW@4..8 "self"
COLON2@8..10 "::"
PATH_SEGMENT@10..13
NAME_REF@10..13
@ -21,10 +22,12 @@ SOURCE_FILE@0..38
PATH@19..31
PATH@19..24
PATH_SEGMENT@19..24
SUPER_KW@19..24 "super"
NAME_REF@19..24
SUPER_KW@19..24 "super"
COLON2@24..26 "::"
PATH_SEGMENT@26..31
SUPER_KW@26..31 "super"
NAME_REF@26..31
SUPER_KW@26..31 "super"
COLON2@31..33 "::"
PATH_SEGMENT@33..36
NAME_REF@33..36

View file

@ -187,7 +187,8 @@ SOURCE_FILE@0..250
PATH@164..173
PATH@164..168
PATH_SEGMENT@164..168
SELF_KW@164..168 "self"
NAME_REF@164..168
SELF_KW@164..168 "self"
COLON2@168..170 "::"
PATH_SEGMENT@170..173
NAME_REF@170..173

View file

@ -25,7 +25,8 @@ SOURCE_FILE@0..62
PATH@27..44
PATH@27..32
PATH_SEGMENT@27..32
CRATE_KW@27..32 "crate"
NAME_REF@27..32
CRATE_KW@27..32 "crate"
COLON2@32..34 "::"
PATH_SEGMENT@34..44
NAME_REF@34..44