cgen: fix comptime call in fn call (#13075)

pull/13080/head
yuyi 2022-01-07 18:59:27 +08:00 committed by GitHub
parent 7dc64de360
commit 5bc72c9c01
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 1 deletions

View File

@ -150,7 +150,11 @@ fn (mut g Gen) comptime_call(mut node ast.ComptimeCall) {
}
}
}
g.write(' ); // vweb action call with args')
if g.inside_call {
g.write(')')
} else {
g.write(');')
}
return
}
mut j := 0

View File

@ -0,0 +1,29 @@
struct Foo {}
fn (f Foo) a() string {
return 'method_a'
}
fn (f Foo) b() string {
return 'method_b'
}
fn test_comptime_call_in_fn_call() {
f := Foo{}
mut rets := []string{}
$for method in Foo.methods {
x := f.$method()
println(x)
println(f.$method())
rets << get_string(f.$method())
}
assert rets.len == 2
assert rets[0] == 'method_a'
assert rets[1] == 'method_b'
}
fn get_string(s string) string {
return s
}