diff options
| author | Matthew Dempsky <mdempsky@google.com> | 2022-05-18 13:26:38 -0700 |
|---|---|---|
| committer | Matthew Dempsky <mdempsky@google.com> | 2022-05-25 16:16:01 +0000 |
| commit | 4e4db1e2572190bf172bcb8532047bc18571366f (patch) | |
| tree | 458f0c750f7be7c348b60d8991b7a35883980d8e /src/cmd/compile/internal/noder/reader.go | |
| parent | 8841699160946263859ea492779bea4aa909f1de (diff) | |
| download | go-4e4db1e2572190bf172bcb8532047bc18571366f.tar.xz | |
internal/pkgbits: add Index type
Element indices are very common in the pkgbits API, so introduce a new
defined type to help make that clearer.
Change-Id: I8f9493e2335601c740eb403d1fdcd11183122907
Reviewed-on: https://go-review.googlesource.com/c/go/+/407435
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/noder/reader.go')
| -rw-r--r-- | src/cmd/compile/internal/noder/reader.go | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/cmd/compile/internal/noder/reader.go b/src/cmd/compile/internal/noder/reader.go index 60aba3e560..296cdd7d54 100644 --- a/src/cmd/compile/internal/noder/reader.go +++ b/src/cmd/compile/internal/noder/reader.go @@ -35,7 +35,7 @@ type pkgReader struct { // offset for rewriting the given index into the output, // but bitwise inverted so we can detect if we're missing the entry or not. - newindex []int + newindex []pkgbits.Index } func newPkgReader(pr pkgbits.PkgDecoder) *pkgReader { @@ -46,13 +46,13 @@ func newPkgReader(pr pkgbits.PkgDecoder) *pkgReader { pkgs: make([]*types.Pkg, pr.NumElems(pkgbits.RelocPkg)), typs: make([]*types.Type, pr.NumElems(pkgbits.RelocType)), - newindex: make([]int, pr.TotalElems()), + newindex: make([]pkgbits.Index, pr.TotalElems()), } } type pkgReaderIndex struct { pr *pkgReader - idx int + idx pkgbits.Index dict *readerDict } @@ -62,7 +62,7 @@ func (pri pkgReaderIndex) asReader(k pkgbits.RelocKind, marker pkgbits.SyncMarke return r } -func (pr *pkgReader) newReader(k pkgbits.RelocKind, idx int, marker pkgbits.SyncMarker) *reader { +func (pr *pkgReader) newReader(k pkgbits.RelocKind, idx pkgbits.Index, marker pkgbits.SyncMarker) *reader { return &reader{ Decoder: pr.NewDecoder(k, idx, marker), p: pr, @@ -182,7 +182,7 @@ func (r *reader) posBase() *src.PosBase { return r.inlPosBase(r.p.posBaseIdx(r.Reloc(pkgbits.RelocPosBase))) } -func (pr *pkgReader) posBaseIdx(idx int) *src.PosBase { +func (pr *pkgReader) posBaseIdx(idx pkgbits.Index) *src.PosBase { if b := pr.posBases[idx]; b != nil { return b } @@ -266,7 +266,7 @@ func (r *reader) pkg() *types.Pkg { return r.p.pkgIdx(r.Reloc(pkgbits.RelocPkg)) } -func (pr *pkgReader) pkgIdx(idx int) *types.Pkg { +func (pr *pkgReader) pkgIdx(idx pkgbits.Index) *types.Pkg { if pkg := pr.pkgs[idx]; pkg != nil { return pkg } @@ -322,7 +322,7 @@ func (r *reader) typWrapped(wrapped bool) *types.Type { func (r *reader) typInfo() typeInfo { r.Sync(pkgbits.SyncType) if r.Bool() { - return typeInfo{idx: r.Len(), derived: true} + return typeInfo{idx: pkgbits.Index(r.Len()), derived: true} } return typeInfo{idx: r.Reloc(pkgbits.RelocType), derived: false} } @@ -573,7 +573,7 @@ func (r *reader) obj() ir.Node { return r.p.objIdx(idx, implicits, explicits) } -func (pr *pkgReader) objIdx(idx int, implicits, explicits []*types.Type) ir.Node { +func (pr *pkgReader) objIdx(idx pkgbits.Index, implicits, explicits []*types.Type) ir.Node { rname := pr.newReader(pkgbits.RelocName, idx, pkgbits.SyncObject1) _, sym := rname.qualifiedIdent() tag := pkgbits.CodeObj(rname.Code(pkgbits.SyncCodeObj)) @@ -712,7 +712,7 @@ func (r *reader) mangle(sym *types.Sym) *types.Sym { return sym.Pkg.Lookup(buf.String()) } -func (pr *pkgReader) objDictIdx(sym *types.Sym, idx int, implicits, explicits []*types.Type) *readerDict { +func (pr *pkgReader) objDictIdx(sym *types.Sym, idx pkgbits.Index, implicits, explicits []*types.Type) *readerDict { r := pr.newReader(pkgbits.RelocObjDict, idx, pkgbits.SyncObject1) var dict readerDict @@ -757,7 +757,7 @@ func (pr *pkgReader) objDictIdx(sym *types.Sym, idx int, implicits, explicits [] dict.itabs = make([]itabInfo2, r.Len()) for i := range dict.itabs { - typ := pr.typIdx(typeInfo{idx: r.Len(), derived: true}, &dict, true) + typ := pr.typIdx(typeInfo{idx: pkgbits.Index(r.Len()), derived: true}, &dict, true) ifaceInfo := r.typInfo() var lsym *obj.LSym |
