| Test of (lack of) comment preservation by inlining, |
| whether by literalization or reduction. |
| |
| Comment handling was better in an earlier implementation |
| based on byte-oriented file surgery; switching to AST |
| manipulation (though better in all other respects) was |
| a regression. The underlying problem of AST comment fidelity |
| is Go issue #20744. |
| |
| -- go.mod -- |
| module testdata |
| go 1.12 |
| |
| -- a/f.go -- |
| package a |
| |
| func _() { |
| f() //@ inline(re"f", f) |
| } |
| |
| func f() { |
| // a |
| /* b */ g() /* c */ |
| // d |
| } |
| |
| -- f -- |
| package a |
| |
| func _() { |
| g() //@ inline(re"f", f) |
| } |
| |
| func f() { |
| // a |
| /* b */ |
| g() /* c */ |
| // d |
| } |
| |
| -- a/g.go -- |
| package a |
| |
| func _() { |
| println(g()) //@ inline(re"g", g) |
| } |
| |
| func g() int { return 1 /*hello*/ + /*there*/ 1 } |
| |
| -- g -- |
| package a |
| |
| func _() { |
| println(1 + 1) //@ inline(re"g", g) |
| } |
| |
| func g() int { return 1 /*hello*/ + /*there*/ 1 } |