diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index 41ea236ff32e2c..4875fbe1161470 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -4618,9 +4618,9 @@ fn (mut c Checker) fetch_field_name(field ast.StructField) string { return name } -fn (mut c Checker) trace(fbase string, message string) { +fn (mut c Checker) trace[T](fbase string, x &T) { if c.file.path_base == fbase { - println('> c.trace | ${fbase:-10s} | ${message}') + println('> c.trace | ${fbase:-10s} | ${x}') } } diff --git a/vlib/v/fmt/fmt.v b/vlib/v/fmt/fmt.v index 58d21eb984600d..b126e3c1113ead 100644 --- a/vlib/v/fmt/fmt.v +++ b/vlib/v/fmt/fmt.v @@ -3006,8 +3006,8 @@ pub fn (mut f Fmt) unsafe_expr(node ast.UnsafeExpr) { f.write('}') } -fn (mut f Fmt) trace(fbase string, message string) { +fn (mut f Fmt) trace[T](fbase string, x &T) { if f.file.path_base == fbase { - println('> f.trace | ${fbase:-10s} | ${message}') + println('> f.trace | ${fbase:-10s} | ${voidptr(x):16} | ${x}') } } diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index e9606b59ad4ac8..cba50189ee577a 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -6945,9 +6945,9 @@ pub fn get_guarded_include_text(iname string, imessage string) string { return res } -fn (mut g Gen) trace(fbase string, message string) { +fn (mut g Gen) trace[T](fbase string, x &T) { if g.file.path_base == fbase { - println('> g.trace | ${fbase:-10s} | ${message}') + println('> g.trace | ${fbase:-10s} | ${voidptr(x):16} | ${x}') } } diff --git a/vlib/v/gen/golang/golang.v b/vlib/v/gen/golang/golang.v index 1ee26aefc4e764..46c47dd299fe63 100644 --- a/vlib/v/gen/golang/golang.v +++ b/vlib/v/gen/golang/golang.v @@ -2283,12 +2283,6 @@ pub fn (mut f Gen) unsafe_expr(node ast.UnsafeExpr) { f.write('}') } -fn (mut f Gen) trace(fbase string, message string) { - // if f.file.path_base == fbase { - // println('> f.trace | ${fbase:-10s} | $message') - //} -} - pub fn (mut g Gen) error(s string) { util.verror('golang backend error', s) } diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index 5c432f0a3dcea4..ba9f3616e5a3dc 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -4358,9 +4358,9 @@ fn (mut p Parser) disallow_declarations_in_script_mode() bool { return false } -fn (mut p Parser) trace(fbase string, message string) { +fn (mut p Parser) trace[T](fbase string, x &T) { if p.file_base == fbase { - println('> p.trace | ${fbase:-10s} | ${message}') + println('> p.trace | ${fbase:-10s} | ${voidptr(x):16} | ${x}') } } diff --git a/vlib/v/scanner/scanner.v b/vlib/v/scanner/scanner.v index 2b96bfaae9a93d..cc880f129a0927 100644 --- a/vlib/v/scanner/scanner.v +++ b/vlib/v/scanner/scanner.v @@ -1685,8 +1685,8 @@ fn (mut s Scanner) vet_error(msg string, fix vet.FixKind) { s.vet_errors << ve } -fn (mut s Scanner) trace(fbase string, message string) { +fn (mut s Scanner) trace[T](fbase string, x &T) { if s.file_base == fbase { - println('> s.trace | ${fbase:-10s} | ${message}') + println('> s.trace | ${fbase:-10s} | ${voidptr(x):16} | ${x}') } } diff --git a/vlib/v/transformer/transformer.v b/vlib/v/transformer/transformer.v index 741c6b0e0fe319..144ed4e01d01ab 100644 --- a/vlib/v/transformer/transformer.v +++ b/vlib/v/transformer/transformer.v @@ -9,11 +9,18 @@ pub struct Transformer { pub mut: index &IndexState table &ast.Table = unsafe { nil } + file &ast.File = unsafe { nil } mut: is_assert bool inside_dump bool } +fn (mut t Transformer) trace[T](fbase string, x &T) { + if t.file.path_base == fbase { + println('> t.trace | ${fbase:-10s} | ${voidptr(x):16} | ${x}') + } +} + pub fn new_transformer(pref_ &pref.Preferences) &Transformer { return &Transformer{ pref: pref_ @@ -38,6 +45,7 @@ pub fn (mut t Transformer) transform_files(ast_files []&ast.File) { } pub fn (mut t Transformer) transform(mut ast_file ast.File) { + t.file = ast_file for mut stmt in ast_file.stmts { stmt = t.stmt(mut stmt) }