parser: improve the error message for unexpected keywords
							parent
							
								
									444d49da75
								
							
						
					
					
						commit
						a5b10b5539
					
				|  | @ -425,7 +425,8 @@ fn (mut p Parser) check(expected token.Kind) { | ||||||
| 		if expected == .name { | 		if expected == .name { | ||||||
| 			p.name_error = true | 			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()`') | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -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