mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.typeparams] cmd/compile: extract SetBaseTypeIndex function
The unified IR importer requires a way to set symbol indices for imported types, so provide an exported API for this. Change-Id: I2f088628f56d5b9f1097196dc1aa23f0a8b8d496 Reviewed-on: https://go-review.googlesource.com/c/go/+/327050 Trust: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
This commit is contained in:
parent
18788245ea
commit
62e32dd386
1 changed files with 8 additions and 1 deletions
|
|
@ -993,7 +993,13 @@ func (r *importReader) symIdx(s *types.Sym) {
|
||||||
|
|
||||||
func (r *importReader) typeExt(t *types.Type) {
|
func (r *importReader) typeExt(t *types.Type) {
|
||||||
t.SetNotInHeap(r.bool())
|
t.SetNotInHeap(r.bool())
|
||||||
i, pi := r.int64(), r.int64()
|
SetBaseTypeIndex(t, r.int64(), r.int64())
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetBaseTypeIndex(t *types.Type, i, pi int64) {
|
||||||
|
if t.Obj() == nil {
|
||||||
|
base.Fatalf("SetBaseTypeIndex on non-defined type %v", t)
|
||||||
|
}
|
||||||
if i != -1 && pi != -1 {
|
if i != -1 && pi != -1 {
|
||||||
typeSymIdx[t] = [2]int64{i, pi}
|
typeSymIdx[t] = [2]int64{i, pi}
|
||||||
}
|
}
|
||||||
|
|
@ -1001,6 +1007,7 @@ func (r *importReader) typeExt(t *types.Type) {
|
||||||
|
|
||||||
// Map imported type T to the index of type descriptor symbols of T and *T,
|
// Map imported type T to the index of type descriptor symbols of T and *T,
|
||||||
// so we can use index to reference the symbol.
|
// so we can use index to reference the symbol.
|
||||||
|
// TODO(mdempsky): Store this information directly in the Type's Name.
|
||||||
var typeSymIdx = make(map[*types.Type][2]int64)
|
var typeSymIdx = make(map[*types.Type][2]int64)
|
||||||
|
|
||||||
func BaseTypeIndex(t *types.Type) int64 {
|
func BaseTypeIndex(t *types.Type) int64 {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue