diff options
author | Daniel Martí <mvdan@mvdan.cc> | 2018-02-20 09:55:28 +0000 |
---|---|---|
committer | Daniel Martí <mvdan@mvdan.cc> | 2018-02-20 15:33:50 +0000 |
commit | d4b2168b238a9e46886ddbf337de68cfacd62a11 (patch) | |
tree | 8dfc34cde5e2aec9e3da5e493f647648d06b062d /src/regexp | |
parent | 3c8b824453b4119829d1a68eec02a0143611913d (diff) | |
download | go-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.go | 26 | ||||
-rw-r--r-- | src/regexp/syntax/regexp.go | 2 |
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 |