mirror of https://github.com/golang/go.git
cmd/compile: use types.IdealFoo directly in predecl
Instead of using untype(Ctype) to get corresponding untyped type. Passes toolstash-check. Change-Id: I311fe6c94b1f8eb2e1615101a379cd06dcab835b Reviewed-on: https://go-review.googlesource.com/c/go/+/260698 Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
542693e005
commit
f3b58edd03
|
|
@ -126,30 +126,6 @@ const (
|
|||
aliasTag
|
||||
)
|
||||
|
||||
// untype returns the "pseudo" untyped type for a Ctype (import/export use only).
|
||||
// (we can't use a pre-initialized array because we must be sure all types are
|
||||
// set up)
|
||||
func untype(ctype Ctype) *types.Type {
|
||||
switch ctype {
|
||||
case CTINT:
|
||||
return types.Idealint
|
||||
case CTRUNE:
|
||||
return types.Idealrune
|
||||
case CTFLT:
|
||||
return types.Idealfloat
|
||||
case CTCPLX:
|
||||
return types.Idealcomplex
|
||||
case CTSTR:
|
||||
return types.Idealstring
|
||||
case CTBOOL:
|
||||
return types.Idealbool
|
||||
case CTNIL:
|
||||
return types.Types[TNIL]
|
||||
}
|
||||
Fatalf("exporter: unknown Ctype")
|
||||
return nil
|
||||
}
|
||||
|
||||
var predecl []*types.Type // initialized lazily
|
||||
|
||||
func predeclared() []*types.Type {
|
||||
|
|
@ -184,13 +160,13 @@ func predeclared() []*types.Type {
|
|||
types.Errortype,
|
||||
|
||||
// untyped types
|
||||
untype(CTBOOL),
|
||||
untype(CTINT),
|
||||
untype(CTRUNE),
|
||||
untype(CTFLT),
|
||||
untype(CTCPLX),
|
||||
untype(CTSTR),
|
||||
untype(CTNIL),
|
||||
types.Idealbool,
|
||||
types.Idealint,
|
||||
types.Idealrune,
|
||||
types.Idealfloat,
|
||||
types.Idealcomplex,
|
||||
types.Idealstring,
|
||||
types.Types[TNIL],
|
||||
|
||||
// package unsafe
|
||||
types.Types[TUNSAFEPTR],
|
||||
|
|
|
|||
|
|
@ -780,8 +780,8 @@ func constTypeOf(typ *types.Type) Ctype {
|
|||
}
|
||||
|
||||
func (w *exportWriter) value(typ *types.Type, v Val) {
|
||||
if typ.IsUntyped() {
|
||||
typ = untype(v.Ctype())
|
||||
if vt := idealType(v.Ctype()); typ.IsUntyped() && typ != vt {
|
||||
Fatalf("exporter: untyped type mismatch, have: %v, want: %v", typ, vt)
|
||||
}
|
||||
w.typ(typ)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue