aboutsummaryrefslogtreecommitdiff
path: root/src/regexp
diff options
context:
space:
mode:
authorDaniel Martí <mvdan@mvdan.cc>2018-02-20 09:55:28 +0000
committerDaniel Martí <mvdan@mvdan.cc>2018-02-20 15:33:50 +0000
commitd4b2168b238a9e46886ddbf337de68cfacd62a11 (patch)
tree8dfc34cde5e2aec9e3da5e493f647648d06b062d /src/regexp
parent3c8b824453b4119829d1a68eec02a0143611913d (diff)
downloadgo-d4b2168b238a9e46886ddbf337de68cfacd62a11.tar.gz
go-d4b2168b238a9e46886ddbf337de68cfacd62a11.zip
regexp/syntax: make Op an fmt.Stringer
Using stringer. Fixes #22684. Change-Id: I62fbde5dcb337cf269686615616bd39a27491ac1 Reviewed-on: https://go-review.googlesource.com/95355 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/regexp')
-rw-r--r--src/regexp/syntax/op_string.go26
-rw-r--r--src/regexp/syntax/regexp.go2
2 files changed, 28 insertions, 0 deletions
diff --git a/src/regexp/syntax/op_string.go b/src/regexp/syntax/op_string.go
new file mode 100644
index 0000000000..3952b2bdd5
--- /dev/null
+++ b/src/regexp/syntax/op_string.go
@@ -0,0 +1,26 @@
+// Code generated by "stringer -type Op -trimprefix Op"; DO NOT EDIT.
+
+package syntax
+
+import "strconv"
+
+const (
+ _Op_name_0 = "NoMatchEmptyMatchLiteralCharClassAnyCharNotNLAnyCharBeginLineEndLineBeginTextEndTextWordBoundaryNoWordBoundaryCaptureStarPlusQuestRepeatConcatAlternate"
+ _Op_name_1 = "opPseudo"
+)
+
+var (
+ _Op_index_0 = [...]uint8{0, 7, 17, 24, 33, 45, 52, 61, 68, 77, 84, 96, 110, 117, 121, 125, 130, 136, 142, 151}
+)
+
+func (i Op) String() string {
+ switch {
+ case 1 <= i && i <= 19:
+ i -= 1
+ return _Op_name_0[_Op_index_0[i]:_Op_index_0[i+1]]
+ case i == 128:
+ return _Op_name_1
+ default:
+ return "Op(" + strconv.FormatInt(int64(i), 10) + ")"
+ }
+}
diff --git a/src/regexp/syntax/regexp.go b/src/regexp/syntax/regexp.go
index 0fe9269f25..7b703f22e2 100644
--- a/src/regexp/syntax/regexp.go
+++ b/src/regexp/syntax/regexp.go
@@ -27,6 +27,8 @@ type Regexp struct {
Name string // capturing name, for OpCapture
}
+//go:generate stringer -type Op -trimprefix Op
+
// An Op is a single regular expression operator.
type Op uint8