Skip to content

Commit 1de8128

Browse files
committed
Call parse directly
1 parent b2a49f9 commit 1de8128

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

Sources/RegexBenchmark/Benchmark.swift

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@_spi(RegexBenchmark) import _StringProcessing
2+
@_implementationOnly import _RegexParser
23
import Foundation
34

45
protocol RegexBenchmark {
@@ -21,10 +22,14 @@ extension SwiftRegexBenchmark {
2122
let _ = regex._forceAction(.recompile)
2223
}
2324
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)
2631
return true
27-
} else {
32+
} catch {
2833
return false
2934
}
3035
}

Sources/_StringProcessing/Regex/Core.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ extension Regex {
139139
@_spi(RegexBenchmark)
140140
extension Regex {
141141
public enum _RegexInternalAction {
142-
case parse(String)
143142
case recompile
144143
case addOptions(CompileOptions)
145144
}
@@ -153,9 +152,6 @@ extension Regex {
153152
program.compileOptions.insert(opts)
154153
program._loweredProgramStorage = nil
155154
return true
156-
case .parse(let pattern):
157-
let _ = try parse(pattern, .traditional)
158-
return true
159155
case .recompile:
160156
let _ = try Compiler(
161157
tree: program.tree,

0 commit comments

Comments
 (0)