mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
cgen: fix error for comptime method call (#14992)
This commit is contained in:
parent
5f140fe2ff
commit
5aa6ec0693
@ -159,11 +159,7 @@ fn (mut g Gen) comptime_call(mut node ast.ComptimeCall) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if g.inside_call {
|
||||
g.write(')')
|
||||
} else {
|
||||
g.write(');')
|
||||
}
|
||||
g.write(')')
|
||||
return
|
||||
}
|
||||
mut j := 0
|
||||
|
25
vlib/v/tests/comptime_method_call_test.v
Normal file
25
vlib/v/tests/comptime_method_call_test.v
Normal file
@ -0,0 +1,25 @@
|
||||
struct App {}
|
||||
|
||||
fn (mut app App) method_one() string {
|
||||
return '1'
|
||||
}
|
||||
|
||||
fn (mut app App) method_two() string {
|
||||
return '2'
|
||||
}
|
||||
|
||||
fn reflect_call(method_name string) string {
|
||||
a := App{}
|
||||
$for method in App.methods {
|
||||
if method.name == method_name {
|
||||
return a.$method() + ''
|
||||
}
|
||||
}
|
||||
panic('Method not supported: $method_name')
|
||||
}
|
||||
|
||||
fn test_comptime_method_call() {
|
||||
result := reflect_call('method_one')
|
||||
println(result)
|
||||
assert result == '1'
|
||||
}
|
Loading…
Reference in New Issue
Block a user