}
}
// 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)
}
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
V2 = ptwo.G()
)
+// Variables with conversions:
+var (
+ StrConv = string("foo")
+ ByteConv = []byte("foo")
+)
+
var ChecksumError = ptwo.NewError("gzip checksum error")
const B = 2