type Expr …
type miniExpr …
const miniExprNonNil …
const miniExprTransient …
const miniExprBounded …
const miniExprImplicit …
const miniExprCheckPtr …
func (*miniExpr) isExpr() { … }
func (n *miniExpr) Type() *types.Type { … }
func (n *miniExpr) SetType(x *types.Type) { … }
func (n *miniExpr) NonNil() bool { … }
func (n *miniExpr) MarkNonNil() { … }
func (n *miniExpr) Transient() bool { … }
func (n *miniExpr) SetTransient(b bool) { … }
func (n *miniExpr) Bounded() bool { … }
func (n *miniExpr) SetBounded(b bool) { … }
func (n *miniExpr) Init() Nodes { … }
func (n *miniExpr) PtrInit() *Nodes { … }
func (n *miniExpr) SetInit(x Nodes) { … }
type AddStringExpr …
func NewAddStringExpr(pos src.XPos, list []Node) *AddStringExpr { … }
type AddrExpr …
func NewAddrExpr(pos src.XPos, x Node) *AddrExpr { … }
func (n *AddrExpr) Implicit() bool { … }
func (n *AddrExpr) SetImplicit(b bool) { … }
func (n *AddrExpr) SetOp(op Op) { … }
type BasicLit …
func NewBasicLit(pos src.XPos, typ *types.Type, val constant.Value) Node { … }
func (n *BasicLit) Val() constant.Value { … }
func (n *BasicLit) SetVal(val constant.Value) { … }
func NewConstExpr(val constant.Value, orig Node) Node { … }
type BinaryExpr …
func NewBinaryExpr(pos src.XPos, op Op, x, y Node) *BinaryExpr { … }
func (n *BinaryExpr) SetOp(op Op) { … }
type CallExpr …
func NewCallExpr(pos src.XPos, op Op, fun Node, args []Node) *CallExpr { … }
func (*CallExpr) isStmt() { … }
func (n *CallExpr) SetOp(op Op) { … }
type ClosureExpr …
type CompLitExpr …
func NewCompLitExpr(pos src.XPos, op Op, typ *types.Type, list []Node) *CompLitExpr { … }
func (n *CompLitExpr) Implicit() bool { … }
func (n *CompLitExpr) SetImplicit(b bool) { … }
func (n *CompLitExpr) SetOp(op Op) { … }
type ConvExpr …
func NewConvExpr(pos src.XPos, op Op, typ *types.Type, x Node) *ConvExpr { … }
func (n *ConvExpr) Implicit() bool { … }
func (n *ConvExpr) SetImplicit(b bool) { … }
func (n *ConvExpr) CheckPtr() bool { … }
func (n *ConvExpr) SetCheckPtr(b bool) { … }
func (n *ConvExpr) SetOp(op Op) { … }
type IndexExpr …
func NewIndexExpr(pos src.XPos, x, index Node) *IndexExpr { … }
func (n *IndexExpr) SetOp(op Op) { … }
type KeyExpr …
func NewKeyExpr(pos src.XPos, key, value Node) *KeyExpr { … }
type StructKeyExpr …
func NewStructKeyExpr(pos src.XPos, field *types.Field, value Node) *StructKeyExpr { … }
func (n *StructKeyExpr) Sym() *types.Sym { … }
type InlinedCallExpr …
func NewInlinedCallExpr(pos src.XPos, body, retvars []Node) *InlinedCallExpr { … }
func (n *InlinedCallExpr) SingleResult() Node { … }
type LogicalExpr …
func NewLogicalExpr(pos src.XPos, op Op, x, y Node) *LogicalExpr { … }
func (n *LogicalExpr) SetOp(op Op) { … }
type MakeExpr …
func NewMakeExpr(pos src.XPos, op Op, len, cap Node) *MakeExpr { … }
func (n *MakeExpr) SetOp(op Op) { … }
type NilExpr …
func NewNilExpr(pos src.XPos, typ *types.Type) *NilExpr { … }
type ParenExpr …
func NewParenExpr(pos src.XPos, x Node) *ParenExpr { … }
func (n *ParenExpr) Implicit() bool { … }
func (n *ParenExpr) SetImplicit(b bool) { … }
type ResultExpr …
func NewResultExpr(pos src.XPos, typ *types.Type, index int64) *ResultExpr { … }
type LinksymOffsetExpr …
func NewLinksymOffsetExpr(pos src.XPos, lsym *obj.LSym, offset int64, typ *types.Type) *LinksymOffsetExpr { … }
func NewLinksymExpr(pos src.XPos, lsym *obj.LSym, typ *types.Type) *LinksymOffsetExpr { … }
func NewNameOffsetExpr(pos src.XPos, name *Name, offset int64, typ *types.Type) *LinksymOffsetExpr { … }
type SelectorExpr …
func NewSelectorExpr(pos src.XPos, op Op, x Node, sel *types.Sym) *SelectorExpr { … }
func (n *SelectorExpr) SetOp(op Op) { … }
func (n *SelectorExpr) Sym() *types.Sym { … }
func (n *SelectorExpr) Implicit() bool { … }
func (n *SelectorExpr) SetImplicit(b bool) { … }
func (n *SelectorExpr) Offset() int64 { … }
func (n *SelectorExpr) FuncName() *Name { … }
type SliceExpr …
func NewSliceExpr(pos src.XPos, op Op, x, low, high, max Node) *SliceExpr { … }
func (n *SliceExpr) SetOp(op Op) { … }
func (o Op) IsSlice3() bool { … }
type SliceHeaderExpr …
func NewSliceHeaderExpr(pos src.XPos, typ *types.Type, ptr, len, cap Node) *SliceHeaderExpr { … }
type StringHeaderExpr …
func NewStringHeaderExpr(pos src.XPos, ptr, len Node) *StringHeaderExpr { … }
type StarExpr …
func NewStarExpr(pos src.XPos, x Node) *StarExpr { … }
func (n *StarExpr) Implicit() bool { … }
func (n *StarExpr) SetImplicit(b bool) { … }
type TypeAssertExpr …
func NewTypeAssertExpr(pos src.XPos, x Node, typ *types.Type) *TypeAssertExpr { … }
func (n *TypeAssertExpr) SetOp(op Op) { … }
type DynamicTypeAssertExpr …
func NewDynamicTypeAssertExpr(pos src.XPos, op Op, x, rtype Node) *DynamicTypeAssertExpr { … }
func (n *DynamicTypeAssertExpr) SetOp(op Op) { … }
type UnaryExpr …
func NewUnaryExpr(pos src.XPos, op Op, x Node) *UnaryExpr { … }
func (n *UnaryExpr) SetOp(op Op) { … }
func IsZero(n Node) bool { … }
func IsAddressable(n Node) bool { … }
func StaticValue(n Node) Node { … }
func staticValue1(nn Node) Node { … }
func Reassigned(name *Name) bool { … }
func StaticCalleeName(n Node) *Name { … }
var IsIntrinsicCall …
func SameSafeExpr(l Node, r Node) bool { … }
func ShouldCheckPtr(fn *Func, level int) bool { … }
func ShouldAsanCheckPtr(fn *Func) bool { … }
func IsReflectHeaderDataField(l Node) bool { … }
func ParamNames(ft *types.Type) []Node { … }
func MethodSym(recv *types.Type, msym *types.Sym) *types.Sym { … }
func MethodSymSuffix(recv *types.Type, msym *types.Sym, suffix string) *types.Sym { … }
func LookupMethodSelector(pkg *types.Pkg, name string) (typ, meth *types.Sym, err error) { … }
func splitType(name string) (typ, fn string) { … }
func MethodExprName(n Node) *Name { … }
func MethodExprFunc(n Node) *types.Field { … }