mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
all: remove unused enum value and improve error message for @
tokens in scanner (#6751)
This commit is contained in:
parent
785bf40f67
commit
4051ce869c
@ -3053,8 +3053,9 @@ fn (mut c Checker) at_expr(mut node ast.AtExpr) table.Type {
|
|||||||
}
|
}
|
||||||
node.val = c.vmod_file_content
|
node.val = c.vmod_file_content
|
||||||
}
|
}
|
||||||
.unknown, ._end_ {
|
.unknown {
|
||||||
c.error('unknown @ identifier: $node.name', node.pos)
|
c.error('unknown @ identifier: ${node.name}. Available identifiers: $token.valid_at_tokens',
|
||||||
|
node.pos)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return table.string_type
|
return table.string_type
|
||||||
|
@ -760,7 +760,12 @@ fn (mut s Scanner) text_scan() token.Token {
|
|||||||
return s.new_token(.at, '@' + name, name.len + 1)
|
return s.new_token(.at, '@' + name, name.len + 1)
|
||||||
}
|
}
|
||||||
if !token.is_key(name) {
|
if !token.is_key(name) {
|
||||||
s.error('@ must be used before keywords (e.g. `@type string`)')
|
mut at_error_msg := '@ must be used before keywords or compile time variables (e.g. `@type string` or `@FN`)'
|
||||||
|
// If name is all uppercase, the user is probably looking for a compile time variable ("at-token")
|
||||||
|
if name.is_upper() {
|
||||||
|
at_error_msg += '\nAvailable compile time variables:\n$token.valid_at_tokens'
|
||||||
|
}
|
||||||
|
s.error(at_error_msg)
|
||||||
}
|
}
|
||||||
return s.new_token(.name, name, name.len)
|
return s.new_token(.name, name, name.len)
|
||||||
}
|
}
|
||||||
|
@ -164,11 +164,9 @@ pub enum AtKind {
|
|||||||
column_nr
|
column_nr
|
||||||
vhash
|
vhash
|
||||||
vmod_file
|
vmod_file
|
||||||
_end_
|
|
||||||
}
|
}
|
||||||
const (
|
const (
|
||||||
valid_at_tokens = ['@FN','@MOD','@STRUCT','@VEXE','@FILE','@LINE','@COLUMN','@VHASH','@VMOD_FILE']
|
valid_at_tokens = ['@FN','@MOD','@STRUCT','@VEXE','@FILE','@LINE','@COLUMN','@VHASH','@VMOD_FILE']
|
||||||
//valid_at_tokens_len = int(AtKind._end_)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// build_keys genereates a map with keywords' string values:
|
// build_keys genereates a map with keywords' string values:
|
||||||
|
Loading…
Reference in New Issue
Block a user