go/types: minor refactoring of missingMethod following CL 494615

Make the refactoring suggested by gri@ in that CL.

Change-Id: I6c363f3ba5aaa3c616d3982d998b989de7046a86
Reviewed-on: https://go-review.googlesource.com/c/go/+/494617
Run-TryBot: Robert Findley <rfindley@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Rob Findley 2023-05-12 11:31:28 -04:00 committed by Robert Findley
parent 803a7dfb80
commit cecf8b9328
2 changed files with 14 additions and 8 deletions

View file

@ -387,10 +387,6 @@ func (check *Checker) missingMethod(V, T Type, static bool, equivalent func(x, y
obj, _, _ = lookupFieldOrMethodImpl(V, false, m.pkg, m.name, true /* fold case */) obj, _, _ = lookupFieldOrMethodImpl(V, false, m.pkg, m.name, true /* fold case */)
f, _ = obj.(*Func) f, _ = obj.(*Func)
if f != nil { if f != nil {
// This method is formatted in funcString below, so must be type-checked.
if check != nil {
check.objDecl(f, nil)
}
state = wrongName state = wrongName
} }
} }
@ -421,6 +417,13 @@ func (check *Checker) missingMethod(V, T Type, static bool, equivalent func(x, y
} }
if cause != nil { if cause != nil {
if f != nil {
// This method may be formatted in funcString below, so must have a fully
// set up signature.
if check != nil {
check.objDecl(f, nil)
}
}
switch state { switch state {
case notFound: case notFound:
switch { switch {

View file

@ -389,10 +389,6 @@ func (check *Checker) missingMethod(V, T Type, static bool, equivalent func(x, y
obj, _, _ = lookupFieldOrMethodImpl(V, false, m.pkg, m.name, true /* fold case */) obj, _, _ = lookupFieldOrMethodImpl(V, false, m.pkg, m.name, true /* fold case */)
f, _ = obj.(*Func) f, _ = obj.(*Func)
if f != nil { if f != nil {
// This method is formatted in funcString below, so must be type-checked.
if check != nil {
check.objDecl(f, nil)
}
state = wrongName state = wrongName
} }
} }
@ -423,6 +419,13 @@ func (check *Checker) missingMethod(V, T Type, static bool, equivalent func(x, y
} }
if cause != nil { if cause != nil {
if f != nil {
// This method may be formatted in funcString below, so must have a fully
// set up signature.
if check != nil {
check.objDecl(f, nil)
}
}
switch state { switch state {
case notFound: case notFound:
switch { switch {