package noder

import "cmd/compile/internal/noder"

Index

Functions

func Addr

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

func Assert

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

func Assignop

func Assignop(src, dst *types.Type) (ir.Op, string)

func Binary

func Binary(pos src.XPos, op ir.Op, typ *types.Type, x, y ir.Node) *ir.BinaryExpr

func BuildInstantiations

func BuildInstantiations()

func Compare

func Compare(pos src.XPos, typ *types.Type, op ir.Op, x, y ir.Node) *ir.BinaryExpr

func Const

func Const(pos src.XPos, typ *types.Type, val constant.Value) ir.Node

func Deref

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

func DotField

func DotField(pos src.XPos, x ir.Node, index int) *ir.SelectorExpr

func DotMethod

func DotMethod(pos src.XPos, x ir.Node, index int) *ir.SelectorExpr

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 IncDec

func IncDec(pos src.XPos, op ir.Op, x ir.Node) *ir.AssignOpStmt

func Index

func Index(pos src.XPos, typ *types.Type, x, index ir.Node) *ir.IndexExpr

func InlineCall

func InlineCall(call *ir.CallExpr, fn *ir.Func, inlIndex int) *ir.InlinedCallExpr

func LoadPackage

func LoadPackage(filenames []string)

func MakeWrappers

func MakeWrappers(target *ir.Package)

func MethodExpr

func MethodExpr(pos src.XPos, recv ir.Node, embed *types.Type, index int) *ir.SelectorExpr

MethodExpr returns a OMETHEXPR node with the indicated index into the methods of typ. The receiver type is set from recv, which is different from typ if the method was accessed via embedded fields. Similarly, the X value of the ir.SelectorExpr is recv, the original OTYPE node before passing through the embedded fields.

func Nil

func Nil(pos src.XPos, typ *types.Type) ir.Node

func OrigConst

func OrigConst(pos src.XPos, typ *types.Type, val constant.Value, op ir.Op, raw string) ir.Node

func Renameinit

func Renameinit() *types.Sym

func Slice

func Slice(pos src.XPos, typ *types.Type, x, low, high, max ir.Node) *ir.SliceExpr

func Unary

func Unary(pos src.XPos, typ *types.Type, op ir.Op, x ir.Node) ir.Node

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.

Source Files

codes.go decl.go export.go expr.go func.go helpers.go import.go irgen.go lex.go linker.go noder.go object.go posmap.go quirks.go reader.go scopes.go sizes.go stencil.go stmt.go transform.go types.go unified.go validate.go writer.go

Version
v1.19.2
Published
Sep 30, 2022
Platform
linux/amd64
Imports
35 packages
Last checked
1 minute ago

Tools for package owners.