]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/api: work on Windows again, and make gccgo files work a bit more
authorBrad Fitzpatrick <bradfitz@golang.org>
Mon, 12 Mar 2012 00:55:15 +0000 (17:55 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 12 Mar 2012 00:55:15 +0000 (17:55 -0700)
handle string and []byte conversions.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5754082

src/cmd/api/goapi.go
src/cmd/api/testdata/src/pkg/p1/golden.txt
src/cmd/api/testdata/src/pkg/p1/p1.go

index 552e2f331e1d2c7ba6a8d77833c0c5ceaed8677f..1782b73cebb4e4544277ec46a8c7681f03052889 100644 (file)
@@ -579,7 +579,14 @@ func (w *Walker) varValueType(vi interface{}) (string, error) {
                        }
                }
                // maybe a function call; maybe a conversion.  Need to lookup type.
-               return "", fmt.Errorf("not a known function %q", w.nodeString(v.Fun))
+               // TODO(bradfitz): this is a hack, but arguably most of this tool is,
+               // until the Go AST has type information.
+               nodeStr := w.nodeString(v.Fun)
+               switch nodeStr {
+               case "string", "[]byte":
+                       return nodeStr, nil
+               }
+               return "", fmt.Errorf("not a known function %q", nodeStr)
        default:
                return "", fmt.Errorf("unknown const value type %T", vi)
        }
index 3a1b3f5350d73482610a85bbbd87775d35673321..e334e5776eea2a780424821cce8e136c4f4f05f9 100644 (file)
@@ -58,14 +58,16 @@ pkg p1, type T struct
 pkg p1, type TPtrExported struct
 pkg p1, type TPtrExported struct, embedded *Embedded
 pkg p1, type TPtrUnexported struct
+pkg p1, var ByteConv []byte
 pkg p1, var ChecksumError error
 pkg p1, var SIPtr *SI
 pkg p1, var SIPtr2 *SI
 pkg p1, var SIVal SI
+pkg p1, var StrConv string
 pkg p1, var V string
-pkg p1, var VError Error
 pkg p1, var V1 uint64
 pkg p1, var V2 p2.Twoer
+pkg p1, var VError Error
 pkg p1, var X I
 pkg p1, var X int64
 pkg p1, var Y int
index 9d2afa913e42d152cbbf393401fbf885f784286f..d965bb75e72b616f418d51e90f3d05976de5d225 100644 (file)
@@ -27,6 +27,12 @@ var (
        V2     = ptwo.G()
 )
 
+// Variables with conversions:
+var (
+       StrConv  = string("foo")
+       ByteConv = []byte("foo")
+)
+
 var ChecksumError = ptwo.NewError("gzip checksum error")
 
 const B = 2