]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/yacc: gofmt y.go
authorChaiShushan <chaishushan@gmail.com>
Wed, 18 Dec 2013 20:17:08 +0000 (15:17 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 18 Dec 2013 20:17:08 +0000 (15:17 -0500)
R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/36950043

src/cmd/yacc/yacc.go

index c53dc3b74b40fe2c71ddd8cefe2fdf64c669efec..c53403266ea30c8e8f89c751452df74a03443c65 100644 (file)
@@ -49,6 +49,8 @@ import (
        "bytes"
        "flag"
        "fmt"
+       "go/format"
+       "io/ioutil"
        "os"
        "strings"
        "unicode"
@@ -3212,6 +3214,7 @@ func exit(status int) {
        if ftable != nil {
                ftable.Flush()
                ftable = nil
+               gofmt()
        }
        if foutput != nil {
                foutput.Flush()
@@ -3224,6 +3227,18 @@ func exit(status int) {
        os.Exit(status)
 }
 
+func gofmt() {
+       src, err := ioutil.ReadFile(oflag)
+       if err != nil {
+               return
+       }
+       src, err = format.Source(src)
+       if err != nil {
+               return
+       }
+       ioutil.WriteFile(oflag, src, 0666)
+}
+
 var yaccpar string // will be processed version of yaccpartext: s/$$/prefix/g
 var yaccpartext = `
 /*     parser for yacc output  */