aliases

package
v0.0.0-...-b73abcb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Enabled

func Enabled() bool

Enabled reports whether NewAlias should create types.Alias types.

This function is expensive! Call it sparingly.

func NewAlias

func NewAlias(enabled bool, pos token.Pos, pkg *types.Package, name string, rhs types.Type, tparams []*types.TypeParam) *types.TypeName

NewAlias creates a new TypeName in Package pkg that is an alias for the type rhs.

The enabled parameter determines whether the resulting [TypeName]'s type is an types.Alias. Its value must be the result of a call to Enabled, which computes the effective value of GODEBUG=gotypesalias=... by invoking the type checker. The Enabled function is expensive and should be called once per task (e.g. package import), not once per call to NewAlias.

Precondition: enabled || len(tparams)==0. If materialized aliases are disabled, there must not be any type parameters.

func Rhs

func Rhs(alias *Alias) types.Type

Rhs returns the type on the right-hand side of the alias declaration.

func SetTypeParams

func SetTypeParams(alias *Alias, tparams []*types.TypeParam)

SetTypeParams sets the type parameters of the alias type.

func TypeArgs

func TypeArgs(alias *Alias) *types.TypeList

TypeArgs returns the type arguments used to instantiate the Alias type.

func TypeParams

func TypeParams(alias *Alias) *types.TypeParamList

TypeParams returns the type parameter list of the alias.

func Unalias

func Unalias(t types.Type) types.Type

Unalias is a wrapper of types.Unalias.

Types

type Alias

type Alias = types.Alias

Alias is an alias of types.Alias.

func Origin

func Origin(alias *Alias) *Alias

Origin returns the generic Alias type of which alias is an instance. If alias is not an instance of a generic alias, Origin returns alias.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL