mirror of
https://github.com/golang/go
synced 2024-11-26 06:27:58 -07:00
[dev.typeparams] cmd/compile: add base.Assertf{,At} functions
We have almost 200 uses of the "assert" helper functions in noder and typecheck. Clearly the tiny bit of extra convenience of writing a one-line assertion rather than an if+panic is helpful, so we might as well add functions for this to base itself so that it's easier to write more informative error messages. Change-Id: I06e2db2f0455af063937b25a53ca42f9413cf496 Reviewed-on: https://go-review.googlesource.com/c/go/+/336050 Trust: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
e4994e71fb
commit
6a931673f0
@ -233,6 +233,27 @@ func FatalfAt(pos src.XPos, format string, args ...interface{}) {
|
||||
ErrorExit()
|
||||
}
|
||||
|
||||
// Assert reports "assertion failed" with Fatalf, unless b is true.
|
||||
func Assert(b bool) {
|
||||
if !b {
|
||||
Fatalf("assertion failed")
|
||||
}
|
||||
}
|
||||
|
||||
// Assertf reports a fatal error with Fatalf, unless b is true.
|
||||
func Assertf(b bool, format string, args ...interface{}) {
|
||||
if !b {
|
||||
Fatalf(format, args...)
|
||||
}
|
||||
}
|
||||
|
||||
// AssertfAt reports a fatal error with FatalfAt, unless b is true.
|
||||
func AssertfAt(b bool, pos src.XPos, format string, args ...interface{}) {
|
||||
if !b {
|
||||
FatalfAt(pos, format, args...)
|
||||
}
|
||||
}
|
||||
|
||||
// hcrash crashes the compiler when -h is set, to find out where a message is generated.
|
||||
func hcrash() {
|
||||
if Flag.LowerH != 0 {
|
||||
|
@ -23,9 +23,7 @@ import (
|
||||
)
|
||||
|
||||
func assert(p bool) {
|
||||
if !p {
|
||||
panic("assertion failed")
|
||||
}
|
||||
base.Assert(p)
|
||||
}
|
||||
|
||||
// Temporary - for outputting information on derived types, dictionaries, sub-dictionaries.
|
||||
|
@ -981,9 +981,7 @@ func MakeDictName(gf *types.Sym, targs []*types.Type, hasBrackets bool) *types.S
|
||||
}
|
||||
|
||||
func assert(p bool) {
|
||||
if !p {
|
||||
panic("assertion failed")
|
||||
}
|
||||
base.Assert(p)
|
||||
}
|
||||
|
||||
// General type substituter, for replacing typeparams with type args.
|
||||
|
Loading…
Reference in New Issue
Block a user