// Copyright 2025 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Package ssainternal exposes setters for internals of go/ssa. // It cannot actually depend on symbols from go/ssa. package ssainternal import "go/types" // SetNoReturn sets the predicate used when building the ssa.Program // prog that reports whether a given function cannot return. // This may be used to prune spurious control flow edges // after (e.g.) log.Fatal, improving the precision of analyses. // // You must link [golang.org/x/tools/go/ssa] into your application for // this function to be non-nil. // // TODO(adonovan): add (*ssa.Program).SetNoReturn to the public API. var SetNoReturn = func(prog any, noreturn func(*types.Func) bool) { panic("golang.org/x/tools/go/ssa not linked into application") }