fmt: simplify `IndexExpr` processing
parent
a678be7195
commit
5a5f4ce99a
|
@ -402,7 +402,10 @@ fn (f mut Fmt) expr(node ast.Expr) {
|
|||
f.expr(it.right)
|
||||
}
|
||||
ast.IndexExpr {
|
||||
f.index_expr(it)
|
||||
f.expr(it.left)
|
||||
f.write('[')
|
||||
f.expr(it.index)
|
||||
f.write(']')
|
||||
}
|
||||
ast.IntegerLiteral {
|
||||
f.write(it.val.str())
|
||||
|
@ -471,6 +474,11 @@ fn (f mut Fmt) expr(node ast.Expr) {
|
|||
f.write(it.op.str())
|
||||
f.expr(it.right)
|
||||
}
|
||||
ast.RangeExpr {
|
||||
f.expr(it.low)
|
||||
f.write('..')
|
||||
f.expr(it.high)
|
||||
}
|
||||
ast.SelectorExpr {
|
||||
f.expr(it.expr)
|
||||
f.write('.')
|
||||
|
@ -512,25 +520,3 @@ fn (f mut Fmt) wrap_long_line() {
|
|||
f.line_len = 0
|
||||
}
|
||||
}
|
||||
|
||||
fn (f mut Fmt) index_expr(node ast.IndexExpr) {
|
||||
mut is_range := false
|
||||
match node.index {
|
||||
ast.RangeExpr {
|
||||
is_range = true
|
||||
f.expr(node.left)
|
||||
f.write('[')
|
||||
f.expr(it.low)
|
||||
f.write('..')
|
||||
f.expr(it.high)
|
||||
f.write(']')
|
||||
}
|
||||
else {}
|
||||
}
|
||||
if !is_range {
|
||||
f.expr(node.left)
|
||||
f.write('[')
|
||||
f.expr(node.index)
|
||||
f.write(']')
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,8 +56,14 @@ fn new_user() User {
|
|||
}
|
||||
|
||||
[inline]
|
||||
fn fn_contains_range_expr() {
|
||||
a := 1 in arr[0..2]
|
||||
fn fn_contains_index_expr() {
|
||||
a := 1 in arr[0..]
|
||||
b := 1 in arr[..2]
|
||||
c := 1 in arr[1..3]
|
||||
d := arr[2]
|
||||
e := arr[2..]
|
||||
f := arr[..2]
|
||||
g := arr[1..3]
|
||||
}
|
||||
|
||||
fn voidfn() {
|
||||
|
|
|
@ -59,8 +59,14 @@ User
|
|||
|
||||
|
||||
[inline]
|
||||
fn fn_contains_range_expr() {
|
||||
a:=1 in arr[0..2]
|
||||
fn fn_contains_index_expr() {
|
||||
a := 1 in arr[0..]
|
||||
b := 1 in arr[..2]
|
||||
c := 1 in arr[1..3]
|
||||
d := arr[2]
|
||||
e := arr[2..]
|
||||
f := arr[..2]
|
||||
g := arr[1..3]
|
||||
}
|
||||
|
||||
fn voidfn(){
|
||||
|
|
Loading…
Reference in New Issue