| // Copyright 2020 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package main |
| |
| import ( |
| "go/go2go" |
| "io/ioutil" |
| "strings" |
| ) |
| |
| // translate writes .go files for all .go2 files in dir. |
| func translate(importer *go2go.Importer, dir string) { |
| if err := go2go.Rewrite(importer, dir); err != nil { |
| die(err.Error()) |
| } |
| } |
| |
| // translateFile translates one .go2 file into a .go file. |
| func translateFile(importer *go2go.Importer, file string) { |
| data, err := ioutil.ReadFile(file) |
| if err != nil { |
| die(err.Error()) |
| } |
| out, err := go2go.RewriteBuffer(importer, file, data) |
| if err != nil { |
| die(err.Error()) |
| } |
| if err := ioutil.WriteFile(strings.TrimSuffix(file, ".go2")+".go", out, 0644); err != nil { |
| die(err.Error()) |
| } |
| } |