package gcimporter
import (
)
var predeclMu sync.Mutex
var predecl map[types.Type][]types.Type
func () []types.Type {
:= types.Universe.Lookup("any").Type()
predeclMu.Lock()
defer predeclMu.Unlock()
if , := predecl[]; {
return
}
if predecl == nil {
predecl = make(map[types.Type][]types.Type)
}
:= []types.Type{
types.Typ[types.Bool],
types.Typ[types.Int],
types.Typ[types.Int8],
types.Typ[types.Int16],
types.Typ[types.Int32],
types.Typ[types.Int64],
types.Typ[types.Uint],
types.Typ[types.Uint8],
types.Typ[types.Uint16],
types.Typ[types.Uint32],
types.Typ[types.Uint64],
types.Typ[types.Uintptr],
types.Typ[types.Float32],
types.Typ[types.Float64],
types.Typ[types.Complex64],
types.Typ[types.Complex128],
types.Typ[types.String],
types.Universe.Lookup("byte").Type(),
types.Universe.Lookup("rune").Type(),
types.Universe.Lookup("error").Type(),
types.Typ[types.UntypedBool],
types.Typ[types.UntypedInt],
types.Typ[types.UntypedRune],
types.Typ[types.UntypedFloat],
types.Typ[types.UntypedComplex],
types.Typ[types.UntypedString],
types.Typ[types.UntypedNil],
types.Typ[types.UnsafePointer],
types.Typ[types.Invalid],
anyType{},
types.Universe.Lookup("comparable").Type(),
,
}
predecl[] =
return
}
type anyType struct{}
func ( anyType) () types.Type { return }
func ( anyType) () string { return "any" }