From d4b2168b238a9e46886ddbf337de68cfacd62a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 20 Feb 2018 09:55:28 +0000 Subject: [PATCH] regexp/syntax: make Op an fmt.Stringer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using stringer. Fixes #22684. Change-Id: I62fbde5dcb337cf269686615616bd39a27491ac1 Reviewed-on: https://go-review.googlesource.com/95355 Run-TryBot: Daniel Martí TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/regexp/syntax/op_string.go | 26 ++++++++++++++++++++++++++ src/regexp/syntax/regexp.go | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 src/regexp/syntax/op_string.go 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