parser: improve the error message for unexpected keywords
							parent
							
								
									444d49da75
								
							
						
					
					
						commit
						a5b10b5539
					
				|  | @ -1,6 +1,6 @@ | |||
| vlib/v/checker/tests/trailing_comma_struct_attr.vv:3:31: error: unexpected `]`, expecting `name`  | ||||
| vlib/v/checker/tests/trailing_comma_struct_attr.vv:3:31: error: unexpected `]`, expecting `name` | ||||
|     1 | struct User { | ||||
|     2 |     name string | ||||
|     3 |     jobs []string [json:jobss;] | ||||
|       |                               ^ | ||||
|     4 | } | ||||
|     4 | } | ||||
|  |  | |||
|  | @ -425,7 +425,8 @@ fn (mut p Parser) check(expected token.Kind) { | |||
| 		if expected == .name { | ||||
| 			p.name_error = true | ||||
| 		} | ||||
| 		p.error('unexpected `$p.tok.kind.str()`, expecting `$expected.str()`') | ||||
| 		label := if token.is_key(p.tok.lit) { 'keyword ' } else { '' } | ||||
| 		p.error('unexpected $label`$p.tok.kind.str()`, expecting `$expected.str()`') | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,4 +4,4 @@ vlib/v/parser/tests/struct_update_err.vv:15:3: error: unexpected `...`, expectin | |||
|    15 |         ...f | ||||
|       |         ~~~ | ||||
|    16 |     } | ||||
|    17 | } | ||||
|    17 | } | ||||
|  |  | |||
|  | @ -2,4 +2,4 @@ vlib/v/parser/tests/uncomplete_module_call_err.vv:7:1: error: unexpected `}`, ex | |||
|     5 | fn main() { | ||||
|     6 |     os. | ||||
|     7 | } | ||||
|       | ^ | ||||
|       | ^ | ||||
|  |  | |||
|  | @ -0,0 +1,7 @@ | |||
| vlib/v/parser/tests/unexpected_keyword.vv:5:12: error: unexpected keyword `import`, expecting `(` | ||||
|     3 | } | ||||
|     4 |  | ||||
|     5 | fn (s Abc) import(name string) { | ||||
|       |            ~~~~~~ | ||||
|     6 |     println(name) | ||||
|     7 | } | ||||
|  | @ -0,0 +1,12 @@ | |||
| struct Abc { | ||||
| 	x int | ||||
| } | ||||
| 
 | ||||
| fn (s Abc) import(name string) { | ||||
| 	println(name) | ||||
| } | ||||
| 
 | ||||
| fn main() { | ||||
| 	s := Abc{} | ||||
| 	s.import('lib') | ||||
| } | ||||
		Loading…
	
		Reference in New Issue