diff options
| author | Brad Fitzpatrick <bradfitz@golang.org> | 2013-01-28 16:45:45 -0800 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2013-01-28 16:45:45 -0800 |
| commit | 0e1305abc2e1e7dad8af5a319779b393114931de (patch) | |
| tree | f77c48f526fdab2b36eb5cdbc056692e91c85f05 /src | |
| parent | 91e99c13457109e3571767cae3fc56c472bdd7dc (diff) | |
| download | go-git-0e1305abc2e1e7dad8af5a319779b393114931de.tar.gz | |
cmd/api: normalize byte to uint8 and rune to int32
R=golang-dev, adg, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/7195049
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/api/goapi.go | 12 | ||||
| -rw-r--r-- | src/cmd/api/testdata/src/pkg/p1/golden.txt | 7 | ||||
| -rw-r--r-- | src/cmd/api/testdata/src/pkg/p1/p1.go | 8 | ||||
| -rw-r--r-- | src/cmd/api/testdata/src/pkg/p3/golden.txt | 2 |
4 files changed, 27 insertions, 2 deletions
diff --git a/src/cmd/api/goapi.go b/src/cmd/api/goapi.go index 1ee852ea79..906cd3a68d 100644 --- a/src/cmd/api/goapi.go +++ b/src/cmd/api/goapi.go @@ -1140,10 +1140,21 @@ func (w *Walker) namelessField(f *ast.Field) *ast.Field { } } +var ( + byteRx = regexp.MustCompile(`\bbyte\b`) + runeRx = regexp.MustCompile(`\brune\b`) +) + func (w *Walker) emitFeature(feature string) { if !w.wantedPkg[w.curPackageName] { return } + if strings.Contains(feature, "byte") { + feature = byteRx.ReplaceAllString(feature, "uint8") + } + if strings.Contains(feature, "rune") { + feature = runeRx.ReplaceAllString(feature, "int32") + } f := strings.Join(w.scope, ", ") + ", " + feature if _, dup := w.features[f]; dup { panic("duplicate feature inserted: " + f) @@ -1159,6 +1170,7 @@ func (w *Walker) emitFeature(feature string) { } panic("feature contains newlines: " + f) } + w.features[f] = true if *verbose { log.Printf("feature: %s", f) diff --git a/src/cmd/api/testdata/src/pkg/p1/golden.txt b/src/cmd/api/testdata/src/pkg/p1/golden.txt index 9cbdefb77a..abcc0ce6c4 100644 --- a/src/cmd/api/testdata/src/pkg/p1/golden.txt +++ b/src/cmd/api/testdata/src/pkg/p1/golden.txt @@ -28,6 +28,9 @@ pkg p1, method (TPtrExported) OnEmbedded() pkg p1, method (TPtrUnexported) OnBothTandBPtr() pkg p1, method (TPtrUnexported) OnBothTandBVal() pkg p1, type B struct +pkg p1, type ByteStruct struct +pkg p1, type ByteStruct struct, B uint8 +pkg p1, type ByteStruct struct, R int32 pkg p1, type Codec struct pkg p1, type Codec struct, Func func(int, int) int pkg p1, type EmbedSelector struct @@ -65,7 +68,9 @@ 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 Byte uint8 +pkg p1, var ByteConv []uint8 +pkg p1, var ByteFunc func(uint8) int32 pkg p1, var ChecksumError error pkg p1, var SIPtr *SI pkg p1, var SIPtr2 *SI diff --git a/src/cmd/api/testdata/src/pkg/p1/p1.go b/src/cmd/api/testdata/src/pkg/p1/p1.go index 1af59d5ca9..f94c9ceeb1 100644 --- a/src/cmd/api/testdata/src/pkg/p1/p1.go +++ b/src/cmd/api/testdata/src/pkg/p1/p1.go @@ -193,3 +193,11 @@ var ifaceVar interface{} = 5 var assertVar = ifaceVar.(int) var indexVar = m["foo"] + +var Byte byte +var ByteFunc func(byte) rune + +type ByteStruct struct { + B byte + R rune +} diff --git a/src/cmd/api/testdata/src/pkg/p3/golden.txt b/src/cmd/api/testdata/src/pkg/p3/golden.txt index 579692fe67..a7dcccd1bd 100644 --- a/src/cmd/api/testdata/src/pkg/p3/golden.txt +++ b/src/cmd/api/testdata/src/pkg/p3/golden.txt @@ -1,3 +1,3 @@ -pkg p3, method (*ThirdBase) GoodPlayer() (int, int, int) pkg p3, func BadHop(int, int, int) (bool, bool, *ThirdBase, *ThirdBase, error) +pkg p3, method (*ThirdBase) GoodPlayer() (int, int, int) pkg p3, type ThirdBase struct |
