...

Package noder

import "cmd/compile/internal/noder"
Overview
Index

Overview ▾

func Addr

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

func CloseHTMLWriters

func CloseHTMLWriters()

CloseHTMLWriters closes the HTML writer for fn, if one exists.

func Deref

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

func DumpNodeHTML

func DumpNodeHTML(pkg *types2.Package, file *syntax.File, info *types2.Info, fn *syntax.FuncDecl, why string, n syntax.Node)

DumpNodeHTML dumps the node n to the HTML writer for fn.

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 MatchASTDump

func MatchASTDump(fn *syntax.FuncDecl) bool

MatchASTDump returns true if the fn matches the value of the astdump debug flag.

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 Shapify

func Shapify(targ *types.Type, basic bool) *types.Type

Shapify returns the shape type for targ.

If basic is true, then the type argument is used to instantiate a type parameter whose constraint is a basic interface.

func WriteExports

func WriteExports(out *bio.Writer)

type HTMLWriter

An HTMLWriter dumps syntax nodes to multicolumn HTML, similar to what the ssa backend does for GOSSAFUNC.

type HTMLWriter struct {
    ir.HTMLWriterBase

    Decl *syntax.FuncDecl
    // contains filtered or unexported fields
}

func NewHTMLWriter

func NewHTMLWriter(pkg *types2.Package, file *syntax.File, info *types2.Info, path string, decl *syntax.FuncDecl, cfgMask string) *HTMLWriter

func (*HTMLWriter) DeclHTML

func (w *HTMLWriter) DeclHTML(phase string) func()

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

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

type WasmExport struct {
    Pos  syntax.Pos
    Name string
}

type WasmImport

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

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