File tree Expand file tree Collapse file tree 2 files changed +8
-7
lines changed Expand file tree Collapse file tree 2 files changed +8
-7
lines changed Original file line number Diff line number Diff line change 1
1
@_spi ( RegexBenchmark) import _StringProcessing
2
+ @_implementationOnly import _RegexParser
2
3
import Foundation
3
4
4
5
protocol RegexBenchmark {
@@ -21,10 +22,14 @@ extension SwiftRegexBenchmark {
21
22
let _ = regex. _forceAction ( . recompile)
22
23
}
23
24
mutating func parse( ) -> Bool {
24
- if let s = pattern {
25
- let _ = regex. _forceAction ( . parse( s) )
25
+ guard let s = pattern else {
26
+ return false
27
+ }
28
+
29
+ do {
30
+ let _ = try _RegexParser. parse ( s, . traditional)
26
31
return true
27
- } else {
32
+ } catch {
28
33
return false
29
34
}
30
35
}
Original file line number Diff line number Diff line change @@ -139,7 +139,6 @@ extension Regex {
139
139
@_spi ( RegexBenchmark)
140
140
extension Regex {
141
141
public enum _RegexInternalAction {
142
- case parse( String )
143
142
case recompile
144
143
case addOptions( CompileOptions )
145
144
}
@@ -153,9 +152,6 @@ extension Regex {
153
152
program. compileOptions. insert ( opts)
154
153
program. _loweredProgramStorage = nil
155
154
return true
156
- case . parse( let pattern) :
157
- let _ = try parse ( pattern, . traditional)
158
- return true
159
155
case . recompile:
160
156
let _ = try Compiler (
161
157
tree: program. tree,
You can’t perform that action at this time.
0 commit comments