vfmt: fix `$for method in App.methods {}` turning to App(methods)

pull/6836/head
Delyan Angelov 2020-11-14 12:24:46 +02:00
parent d6d202341a
commit ba8cdb2977
2 changed files with 5 additions and 3 deletions

View File

@ -310,7 +310,7 @@ pub fn (mut f Fmt) stmt(node ast.Stmt) {
}
ast.CompFor {
typ := f.no_cur_mod(f.table.type_to_str(it.typ))
f.writeln('\$for $it.val_var in ${typ}($it.kind.str()) {')
f.writeln('\$for $it.val_var in ${typ}.$it.kind.str() {')
f.stmts(it.stmts)
f.writeln('}')
}

View File

@ -31,7 +31,9 @@ fn (mut app App) int_method2() int {
fn (mut app App) string_arg(x string) {
}
fn no_lines(s string) string { return s.replace('\n', ' ') }
fn no_lines(s string) string {
return s.replace('\n', ' ')
}
fn test_comptime_for() {
println(@FN)
@ -46,7 +48,7 @@ fn test_comptime_for_with_if() {
println(@FN)
$for method in App.methods {
println(' method: ' + no_lines('$method'))
$if method.typ is fn() {
$if method.typ is fn () {
assert method.name in ['run', 'method2']
}
$if method.return_type is int {