]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.typeparams] go/constant: implement Kind.String
authorRobert Griesemer <gri@golang.org>
Mon, 17 May 2021 18:49:53 +0000 (11:49 -0700)
committerRobert Griesemer <gri@golang.org>
Mon, 17 May 2021 19:11:05 +0000 (19:11 +0000)
Fixes #46211.

Change-Id: I7e373be5ccf9c6b53d58ed942addd17d28c3efa1
Reviewed-on: https://go-review.googlesource.com/c/go/+/320491
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/go/constant/kind_string.go [new file with mode: 0644]
src/go/constant/value.go

diff --git a/src/go/constant/kind_string.go b/src/go/constant/kind_string.go
new file mode 100644 (file)
index 0000000..7003325
--- /dev/null
@@ -0,0 +1,28 @@
+// Code generated by "stringer -type Kind"; DO NOT EDIT.
+
+package constant
+
+import "strconv"
+
+func _() {
+       // An "invalid array index" compiler error signifies that the constant values have changed.
+       // Re-run the stringer command to generate them again.
+       var x [1]struct{}
+       _ = x[Unknown-0]
+       _ = x[Bool-1]
+       _ = x[String-2]
+       _ = x[Int-3]
+       _ = x[Float-4]
+       _ = x[Complex-5]
+}
+
+const _Kind_name = "UnknownBoolStringIntFloatComplex"
+
+var _Kind_index = [...]uint8{0, 7, 11, 17, 20, 25, 32}
+
+func (i Kind) String() string {
+       if i < 0 || i >= Kind(len(_Kind_index)-1) {
+               return "Kind(" + strconv.FormatInt(int64(i), 10) + ")"
+       }
+       return _Kind_name[_Kind_index[i]:_Kind_index[i+1]]
+}
index 78cb3f896f535cd7fddd64a2f2b34e03f1ec81dd..014e873100de6e02a426dec50f6aed921764c6db 100644 (file)
@@ -24,6 +24,8 @@ import (
        "unicode/utf8"
 )
 
+//go:generate stringer -type Kind
+
 // Kind specifies the kind of value represented by a Value.
 type Kind int