mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
compiler: blank ident error fixes + other small cflag / parser fixes (#2418)
* merge master * fix blank ident & add cflag error * undo cflag changes * fix gen_js * undo gen_js changes * fix * fix
This commit is contained in:
@ -38,13 +38,22 @@ fn (p mut Parser) gen_blank_identifier_assign() {
|
||||
assign_error_tok_idx := p.token_idx
|
||||
p.check_name()
|
||||
p.check_space(.assign)
|
||||
expr := p.lit
|
||||
is_indexer := p.peek() == .lsbr
|
||||
is_fn_call := p.peek() == .lpar || (p.peek() == .dot && p.tokens[p.token_idx+2].tok == .lpar)
|
||||
mut expr := p.lit
|
||||
mut is_fn_call := p.peek() == .lpar
|
||||
if !is_fn_call {
|
||||
mut i := p.token_idx+1
|
||||
for (p.tokens[i].tok == .dot || p.tokens[i].tok == .name) &&
|
||||
p.tokens[i].lit != '_' {
|
||||
expr += if p.tokens[i].tok == .dot { '.' } else { p.tokens[i].lit }
|
||||
i++
|
||||
}
|
||||
is_fn_call = p.tokens[i].tok == .lpar
|
||||
}
|
||||
p.bool_expression()
|
||||
if !is_indexer && !is_fn_call {
|
||||
p.error_with_token_index('assigning `$expr` to `_` is redundant', assign_error_tok_idx)
|
||||
}
|
||||
p.bool_expression()
|
||||
or_else := p.tok == .key_orelse
|
||||
//tmp := p.get_tmp()
|
||||
if or_else {
|
||||
|
Reference in New Issue
Block a user