mirror of
https://github.com/vlang/v.git
synced 2025-09-13 14:32:26 +03:00
v.token: make is_assign() contain .decl_assign (#21805)
This commit is contained in:
parent
35e6a40c0e
commit
cb42f32852
5 changed files with 10 additions and 10 deletions
|
@ -138,8 +138,8 @@ fn color_highlight(code string, tb &ast.Table) string {
|
||||||
else {
|
else {
|
||||||
if token.is_key(tok.lit) || token.is_decl(tok.kind) {
|
if token.is_key(tok.lit) || token.is_decl(tok.kind) {
|
||||||
tok_typ = .keyword
|
tok_typ = .keyword
|
||||||
} else if tok.kind == .decl_assign || tok.kind.is_assign() || tok.is_unary()
|
} else if tok.kind.is_assign() || tok.is_unary() || tok.kind.is_relational()
|
||||||
|| tok.kind.is_relational() || tok.kind.is_infix() || tok.kind.is_postfix() {
|
|| tok.kind.is_infix() || tok.kind.is_postfix() {
|
||||||
tok_typ = .operator
|
tok_typ = .operator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -444,8 +444,8 @@ fn html_highlight(code string, tb &ast.Table) string {
|
||||||
else {
|
else {
|
||||||
if token.is_key(tok.lit) || token.is_decl(tok.kind) {
|
if token.is_key(tok.lit) || token.is_decl(tok.kind) {
|
||||||
tok_typ = .keyword
|
tok_typ = .keyword
|
||||||
} else if tok.kind == .decl_assign || tok.kind.is_assign() || tok.is_unary()
|
} else if tok.kind.is_assign() || tok.is_unary() || tok.kind.is_relational()
|
||||||
|| tok.kind.is_relational() || tok.kind.is_infix() || tok.kind.is_postfix() {
|
|| tok.kind.is_infix() || tok.kind.is_postfix() {
|
||||||
tok_typ = .operator
|
tok_typ = .operator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ fn (mut p Parser) for_stmt() ast.Stmt {
|
||||||
}
|
}
|
||||||
p.close_scope()
|
p.close_scope()
|
||||||
return for_stmt
|
return for_stmt
|
||||||
} else if p.peek_tok.kind in [.decl_assign, .assign, .semicolon]
|
} else if p.peek_tok.kind == .semicolon
|
||||||
|| (p.peek_tok.kind in [.inc, .dec] && p.peek_token(2).kind in [.semicolon, .comma])
|
|| (p.peek_tok.kind in [.inc, .dec] && p.peek_token(2).kind in [.semicolon, .comma])
|
||||||
|| p.peek_tok.kind.is_assign() || p.tok.kind == .semicolon
|
|| p.peek_tok.kind.is_assign() || p.tok.kind == .semicolon
|
||||||
|| (p.peek_tok.kind == .comma && p.peek_token(2).kind != .key_mut
|
|| (p.peek_tok.kind == .comma && p.peek_token(2).kind != .key_mut
|
||||||
|
@ -47,7 +47,7 @@ fn (mut p Parser) for_stmt() ast.Stmt {
|
||||||
mut has_inc := false
|
mut has_inc := false
|
||||||
mut is_multi := p.peek_tok.kind == .comma && p.peek_token(2).kind != .key_mut
|
mut is_multi := p.peek_tok.kind == .comma && p.peek_token(2).kind != .key_mut
|
||||||
&& p.peek_token(3).kind != .key_in
|
&& p.peek_token(3).kind != .key_in
|
||||||
if p.peek_tok.kind in [.assign, .decl_assign] || p.peek_tok.kind.is_assign() || is_multi {
|
if p.peek_tok.kind.is_assign() || is_multi {
|
||||||
init = p.assign_stmt()
|
init = p.assign_stmt()
|
||||||
has_init = true
|
has_init = true
|
||||||
} else if p.peek_tok.kind in [.inc, .dec] {
|
} else if p.peek_tok.kind in [.inc, .dec] {
|
||||||
|
|
|
@ -2156,7 +2156,7 @@ fn (mut p Parser) parse_multi_expr(is_top_level bool) ast.Stmt {
|
||||||
return p.error('expecting `:=` (e.g. `mut x :=`)')
|
return p.error('expecting `:=` (e.g. `mut x :=`)')
|
||||||
}
|
}
|
||||||
// TODO: remove translated
|
// TODO: remove translated
|
||||||
if p.tok.kind in [.assign, .decl_assign] || p.tok.kind.is_assign() {
|
if p.tok.kind.is_assign() {
|
||||||
return p.partial_assign_stmt(left)
|
return p.partial_assign_stmt(left)
|
||||||
} else if !p.pref.translated && !p.is_translated && !p.pref.is_fmt && !p.pref.is_vet
|
} else if !p.pref.translated && !p.is_translated && !p.pref.is_fmt && !p.pref.is_vet
|
||||||
&& tok.kind !in [.key_if, .key_match, .key_lock, .key_rlock, .key_select] {
|
&& tok.kind !in [.key_if, .key_match, .key_lock, .key_rlock, .key_select] {
|
||||||
|
|
|
@ -186,9 +186,9 @@ pub enum AtKind {
|
||||||
location
|
location
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const assign_tokens = [Kind.assign, .plus_assign, .minus_assign, .mult_assign, .div_assign,
|
pub const assign_tokens = [Kind.assign, .decl_assign, .plus_assign, .minus_assign, .mult_assign,
|
||||||
.xor_assign, .mod_assign, .or_assign, .and_assign, .right_shift_assign, .left_shift_assign,
|
.div_assign, .xor_assign, .mod_assign, .or_assign, .and_assign, .right_shift_assign,
|
||||||
.unsigned_right_shift_assign, .boolean_and_assign, .boolean_or_assign]
|
.left_shift_assign, .unsigned_right_shift_assign, .boolean_and_assign, .boolean_or_assign]
|
||||||
|
|
||||||
pub const valid_at_tokens = ['@VROOT', '@VMODROOT', '@VEXEROOT', '@FN', '@METHOD', '@MOD', '@STRUCT',
|
pub const valid_at_tokens = ['@VROOT', '@VMODROOT', '@VEXEROOT', '@FN', '@METHOD', '@MOD', '@STRUCT',
|
||||||
'@VEXE', '@FILE', '@LINE', '@COLUMN', '@VHASH', '@VCURRENTHASH', '@VMOD_FILE', '@VMODHASH',
|
'@VEXE', '@FILE', '@LINE', '@COLUMN', '@VHASH', '@VCURRENTHASH', '@VMOD_FILE', '@VMODHASH',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue