mirror of
https://github.com/golang/go
synced 2024-11-25 16:47:56 -07:00
8e02e7b26a
Rather than implementing a new, less complete mechanism to check if a selector exists with different capitalization, use the existing mechanism in lookupFieldOrMethodImpl by making it available for internal use. Pass foldCase parameter all the way trough to Object.sameId and thus make it consistently available where Object.sameId is used. From sameId, factor out samePkg functionality into stand-alone predicate. Do better case distinction when reporting an error for an undefined selector expression. Cleanup. Change-Id: I7be3cecb4976a4dce3264c7e0c49a320c87101e9 Reviewed-on: https://go-review.googlesource.com/c/go/+/558315 Reviewed-by: Robert Griesemer <gri@google.com> Reviewed-by: Robert Findley <rfindley@google.com> Auto-Submit: Robert Griesemer <gri@google.com> Run-TryBot: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
22 lines
586 B
Go
22 lines
586 B
Go
// errorcheck
|
|
|
|
// Copyright 2017 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 main
|
|
|
|
type it struct {
|
|
Floats bool
|
|
inner string
|
|
}
|
|
|
|
func main() {
|
|
i1 := it{Floats: true}
|
|
if i1.floats { // ERROR "(type it .* field or method floats, but does have field Floats)|undefined field or method"
|
|
}
|
|
i2 := &it{floats: false} // ERROR "(but does have field Floats)|unknown field|declared and not used"
|
|
_ = &it{InneR: "foo"} // ERROR "(but does have field inner)|unknown field"
|
|
_ = i2
|
|
}
|