Skip to content

Commit 9fcdc81

Browse files
Mark Freemangopherbot
authored andcommitted
go/types, types2: rename loaded namedState to lazyLoaded
This is a minor renaming to help differentiate the two kinds of loading that can happen for named types (eager and lazy). Use of the term "loaded" suggests that it might also apply to types which are eagerly-loaded, which is not the case. This change uses "lazyLoaded" instead to mark this difference. Change-Id: Iee170024246d9adf3eed978bde2b0500f6d490b7 Reviewed-on: https://go-review.googlesource.com/c/go/+/713282 Reviewed-by: Robert Griesemer <[email protected]> Auto-Submit: Mark Freeman <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
1 parent 8401512 commit 9fcdc81

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

src/cmd/compile/internal/types2/named.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ type instance struct {
142142
// according to the below diagram:
143143
//
144144
// unresolved
145-
// loaded
145+
// lazyLoaded
146146
// resolved
147147
// └── hasMethods
148148
// └── hasUnder
@@ -158,9 +158,9 @@ type instance struct {
158158
// set left-to-right, they are:
159159
//
160160
// 0000 | unresolved
161-
// 1000 | loaded
162-
// 1100 | resolved, which implies loaded
163-
// 1110 | hasMethods, which implies resolved (which in turn implies loaded)
161+
// 1000 | lazyLoaded
162+
// 1100 | resolved, which implies lazyLoaded
163+
// 1110 | hasMethods, which implies resolved (which in turn implies lazyLoaded)
164164
// 1101 | hasUnder, which implies resolved ...
165165
// 1111 | both hasMethods and hasUnder which implies resolved ...
166166
//
@@ -169,9 +169,9 @@ type stateMask uint32
169169

170170
const (
171171
// before resolved, type parameters, RHS, underlying, and methods might be unavailable
172-
resolved stateMask = 1 << iota // methods might be unexpanded (for instances)
172+
lazyLoaded stateMask = 1 << iota // methods are available, but constraints might be unexpanded (for generic types)
173+
resolved // methods might be unexpanded (for instances)
173174
hasMethods // methods are all expanded (for instances)
174-
loaded // methods are available, but constraints might be unexpanded (for generic types)
175175
hasUnder // underlying type is available
176176
)
177177

@@ -213,7 +213,7 @@ func NewNamed(obj *TypeName, underlying Type, methods []*Func) *Named {
213213
// All others:
214214
// Effectively, nothing happens.
215215
func (n *Named) resolve() *Named {
216-
if n.stateHas(resolved | loaded) { // avoid locking below
216+
if n.stateHas(resolved | lazyLoaded) { // avoid locking below
217217
return n
218218
}
219219

@@ -223,7 +223,7 @@ func (n *Named) resolve() *Named {
223223
defer n.mu.Unlock()
224224

225225
// only atomic for consistency; we are holding the mutex
226-
if n.stateHas(resolved | loaded) {
226+
if n.stateHas(resolved | lazyLoaded) {
227227
return n
228228
}
229229

@@ -267,7 +267,7 @@ func (n *Named) resolve() *Named {
267267
n.fromRHS = underlying // for cycle detection
268268
n.methods = methods
269269

270-
n.setState(loaded) // avoid deadlock calling delayed functions
270+
n.setState(lazyLoaded) // avoid deadlock calling delayed functions
271271
for _, f := range delayed {
272272
f()
273273
}
@@ -716,7 +716,7 @@ func (n *Named) expandRHS() (rhs Type) {
716716
}
717717

718718
assert(!n.stateHas(resolved))
719-
assert(n.inst.orig.stateHas(resolved | loaded))
719+
assert(n.inst.orig.stateHas(resolved | lazyLoaded))
720720

721721
if n.inst.ctxt == nil {
722722
n.inst.ctxt = NewContext()

src/go/types/named.go

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)