mirror of
https://github.com/golang/go
synced 2024-09-18 15:32:18 +00: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()
|
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.
|
// hcrash crashes the compiler when -h is set, to find out where a message is generated.
|
||||||
func hcrash() {
|
func hcrash() {
|
||||||
if Flag.LowerH != 0 {
|
if Flag.LowerH != 0 {
|
||||||
|
|
|
@ -23,9 +23,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func assert(p bool) {
|
func assert(p bool) {
|
||||||
if !p {
|
base.Assert(p)
|
||||||
panic("assertion failed")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Temporary - for outputting information on derived types, dictionaries, sub-dictionaries.
|
// 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) {
|
func assert(p bool) {
|
||||||
if !p {
|
base.Assert(p)
|
||||||
panic("assertion failed")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// General type substituter, for replacing typeparams with type args.
|
// General type substituter, for replacing typeparams with type args.
|
||||||
|
|
Loading…
Reference in a new issue