]> Cypherpunks repositories - gostls13.git/commitdiff
go/types, types2: shorten object map assertion
authorMark Freeman <mark@golang.org>
Fri, 14 Nov 2025 20:04:28 +0000 (15:04 -0500)
committerGopher Robot <gobot@golang.org>
Mon, 24 Nov 2025 20:34:51 +0000 (12:34 -0800)
It's a fairly well-known invariant that each object must exist in the
object map and cannot be nil. This change just shortens a check of
that invariant.

Change-Id: Id15c158c3a9ad91cdc230fb0b84eb69b2451cbdc
Reviewed-on: https://go-review.googlesource.com/c/go/+/722061
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Mark Freeman <markfreeman@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
src/cmd/compile/internal/types2/decl.go
src/go/types/decl.go

index 5cb52fdbe45641778d7d71ddf0211a93cee84b1f..4f9f7c25e747ed4c9df93f7d5176c25be35b0649 100644 (file)
@@ -133,11 +133,8 @@ func (check *Checker) objDecl(obj Object, def *TypeName) {
        check.push(obj)
        defer check.pop()
 
-       d := check.objMap[obj]
-       if d == nil {
-               check.dump("%v: %s should have been declared", obj.Pos(), obj)
-               panic("unreachable")
-       }
+       d, ok := check.objMap[obj]
+       assert(ok)
 
        // save/restore current environment and set up object environment
        defer func(env environment) {
index fffcb590e605c0f73cedf4c992ab912444850235..1b0aa77ff3b850f85c36d3233d53552aad4d6d9a 100644 (file)
@@ -134,11 +134,8 @@ func (check *Checker) objDecl(obj Object, def *TypeName) {
        check.push(obj) // mark as grey
        defer check.pop()
 
-       d := check.objMap[obj]
-       if d == nil {
-               check.dump("%v: %s should have been declared", obj.Pos(), obj)
-               panic("unreachable")
-       }
+       d, ok := check.objMap[obj]
+       assert(ok)
 
        // save/restore current environment and set up object environment
        defer func(env environment) {