]> Cypherpunks repositories - gostls13.git/commit
go/types: add Var.Kind() VarKind method
authorAlan Donovan <adonovan@google.com>
Tue, 28 Jan 2025 18:44:41 +0000 (13:44 -0500)
committerAlan Donovan <adonovan@google.com>
Wed, 5 Mar 2025 18:21:15 +0000 (10:21 -0800)
commit932a4a4befc804fc5f94c12e1e430442557875fe
tree7388087b6d379c23f88ffa1857718cc545b9a7aa
parent2c1604142324be55a9274bc13a5a143bb3cde809
go/types: add Var.Kind() VarKind method

This CL adds an enum type, VarKind, that discriminates among
the various kinds of Var, and adds setter/getter methods
for Var's kind field.

Beware: NewVar has a weaker postcondition: the Var objects it
returns are not completely initialized and require a call to
Var.SetKind. This should only affect importers.

No changes are needed to the export data, since the kind can
always be deduced from the context when decoding.

See CL 645656 for the corresponding x/tools changes.

+ test, relnote, API

Updates golang/go#70250

Change-Id: Icde86ad22a880cde6f50bc12bf38004a5c6a1025
Reviewed-on: https://go-review.googlesource.com/c/go/+/645115
Reviewed-by: Robert Griesemer <gri@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Robert Findley <rfindley@google.com>
33 files changed:
api/go1.25.txt [new file with mode: 0644]
doc/initial/6-stdlib/99-minor/0-heading.md
src/cmd/compile/internal/types2/api_test.go
src/cmd/compile/internal/types2/assignments.go
src/cmd/compile/internal/types2/builtins.go
src/cmd/compile/internal/types2/call.go
src/cmd/compile/internal/types2/check.go
src/cmd/compile/internal/types2/context_test.go
src/cmd/compile/internal/types2/decl.go
src/cmd/compile/internal/types2/interface.go
src/cmd/compile/internal/types2/issues_test.go
src/cmd/compile/internal/types2/object.go
src/cmd/compile/internal/types2/recording.go
src/cmd/compile/internal/types2/resolver.go
src/cmd/compile/internal/types2/signature.go
src/cmd/compile/internal/types2/stmt.go
src/cmd/compile/internal/types2/universe.go
src/go/internal/gccgoimporter/parser.go
src/go/internal/gcimporter/ureader.go
src/go/types/api_test.go
src/go/types/assignments.go
src/go/types/builtins.go
src/go/types/call.go
src/go/types/context_test.go
src/go/types/decl.go
src/go/types/interface.go
src/go/types/issues_test.go
src/go/types/object.go
src/go/types/recording.go
src/go/types/resolver.go
src/go/types/signature.go
src/go/types/stmt.go
src/go/types/universe.go