package noder

import "cmd/compile/internal/noder"

Index

Functions

func Addr

func Addr(pos src.XPos, x ir.Node) *ir.AddrExpr

func Deref

func Deref(pos src.XPos, typ *types.Type, x ir.Node) *ir.StarExpr

func FixValue

func FixValue(typ *types.Type, val constant.Value) constant.Value

FixValue returns val after converting and truncating it as appropriate for typ.

func LoadPackage

func LoadPackage(filenames []string)

func LookupFunc

func LookupFunc(fullName string) (*ir.Func, error)

LookupFunc returns the ir.Func for an arbitrary full symbol name if that function exists in the set of available export data.

This allows lookup of arbitrary functions and methods that aren't otherwise referenced by the local package and thus haven't been read yet.

TODO(prattmic): Does not handle instantiation of generic types. Currently profiles don't contain the original type arguments, so we won't be able to create the runtime dictionaries.

TODO(prattmic): Hit rate of this function is usually fairly low, and errors are only used when debug logging is enabled. Consider constructing cheaper errors by default.

func MakeWrappers

func MakeWrappers(target *ir.Package)

MakeWrappers constructs all wrapper methods needed for the target compilation unit.

func PostLookupCleanup

func PostLookupCleanup()

PostLookupCleanup performs cleanup operations needed after a series of calls to LookupFunc, specifically invoking readBodies to post-process any funcs on the "todoBodies" list that were added as a result of the lookup operations.

func Renameinit

func Renameinit() *types.Sym

func WriteExports

func WriteExports(out *bio.Writer)

Types

type ImplicitNode

type ImplicitNode interface {
	ir.Node
	SetImplicit(x bool)
}

func Implicit

func Implicit(n ImplicitNode) ImplicitNode

Implicit returns n after marking it as Implicit.

type WasmExport

type WasmExport struct {
	Pos  syntax.Pos
	Name string
}

WasmExport stores metadata associated with the //go:wasmexport pragma

type WasmImport

type WasmImport struct {
	Pos    syntax.Pos
	Module string
	Name   string
}

WasmImport stores metadata associated with the //go:wasmimport pragma

Source Files

codes.go export.go helpers.go import.go irgen.go lex.go linker.go noder.go posmap.go quirks.go reader.go types.go unified.go writer.go

Version
v1.24.0 (latest)
Published
Feb 10, 2025
Platform
linux/amd64
Imports
45 packages
Last checked
47 minutes ago

Tools for package owners.