| |
| -- go.mod -- |
| module example.com |
| go 1.18 |
| |
| -- template/template.go -- |
| package template |
| |
| // Basic test of expression refactoring. |
| // (Types are not important in this case; it could be done with gofmt -r.) |
| |
| import "time" |
| |
| func before(t time.Time) time.Duration { return time.Now().Sub(t) } |
| func after(t time.Time) time.Duration { return time.Since(t) } |
| |
| -- in/b1/b1.go -- |
| package b1 |
| |
| import "time" |
| |
| var startup = time.Now() |
| |
| func example() time.Duration { |
| before := time.Now() |
| time.Sleep(1) |
| return time.Now().Sub(before) |
| } |
| |
| func msSinceStartup() int64 { |
| return int64(time.Now().Sub(startup) / time.Millisecond) |
| } |
| |
| -- out/b1/b1.go -- |
| package b1 |
| |
| import "time" |
| |
| var startup = time.Now() |
| |
| func example() time.Duration { |
| before := time.Now() |
| time.Sleep(1) |
| return time.Since(before) |
| } |
| |
| func msSinceStartup() int64 { |
| return int64(time.Since(startup) / time.Millisecond) |
| } |