type ImplicitNode … // Implicit returns n after marking it as Implicit. func Implicit(n ImplicitNode) ImplicitNode { … } // typed returns n after setting its type to typ. func typed(typ *types.Type, n ir.Node) ir.Node { … } // FixValue returns val after converting and truncating it as // appropriate for typ. func FixValue(typ *types.Type, val constant.Value) constant.Value { … } func Addr(pos src.XPos, x ir.Node) *ir.AddrExpr { … } func Deref(pos src.XPos, typ *types.Type, x ir.Node) *ir.StarExpr { … } func idealType(tv syntax.TypeAndValue) types2.Type { … } func isTypeParam(t types2.Type) bool { … } // isNotInHeap reports whether typ is or contains an element of type // internal/runtime/sys.NotInHeap. func isNotInHeap(typ types2.Type) bool { … }