Skip to content

Commit 016fd17

Browse files
committed
code refine
1 parent cf81735 commit 016fd17

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

BuildTimeAnalyzer/LogProcessor.swift

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -60,39 +60,35 @@ class LogProcessor: NSObject, LogProcessorProtocol {
6060
// MARK: Private methods
6161

6262
private func process(text: String) {
63-
let text: NSString = text as NSString
64-
let characterSet = CharacterSet(charactersIn:"\r\"")
65-
var remainingRange = NSMakeRange(0, text.length)
63+
let characterSet = CharacterSet(charactersIn:"\r")
64+
var remainingRange = text.startIndex..<text.endIndex
6665

6766
rawMeasures.removeAll()
6867

6968
processingDidStart()
7069

71-
while true {
72-
let nextRange = text.rangeOfCharacter(from: characterSet, options: .literal, range: remainingRange)
73-
guard nextRange.location != NSNotFound else { break }
74-
75-
let beginIdx = remainingRange.lowerBound
76-
let endIdx = nextRange.upperBound
77-
let textCount = endIdx - beginIdx
70+
while !shouldCancel, let characterRange = text.rangeOfCharacter(from: characterSet,
71+
options: .literal,
72+
range: remainingRange) {
73+
let nextRange = remainingRange.lowerBound..<characterRange.upperBound
7874

7975
defer {
80-
remainingRange = NSMakeRange(endIdx, remainingRange.upperBound - endIdx)
76+
remainingRange = nextRange.upperBound..<remainingRange.upperBound
8177
}
8278

83-
let range = NSMakeRange(beginIdx, textCount)
84-
guard let match = regex.firstMatch(in: text as String, options: [], range: range) else { continue }
85-
let timeString = text.substring(with: NSMakeRange(beginIdx, match.range.length - 4))
79+
let range = NSRange(nextRange, in: text)
80+
guard let match = regex.firstMatch(in: text, options: [], range: range) else { continue }
81+
let matchRange = Range<String.Index>.init(match.range, in: text)!
82+
let timeString = text[remainingRange.lowerBound..<text.index(matchRange.upperBound, offsetBy: -4)]
8683
if let time = Double(timeString) {
87-
let value = text.substring(with: NSMakeRange(match.range.upperBound - 1, endIdx - match.range.upperBound - 1)) as String
84+
let value = String(text[text.index(before: matchRange.upperBound)..<nextRange.upperBound])
8885
if let rawMeasure = rawMeasures[value] {
8986
rawMeasure.time += time
9087
rawMeasure.references += 1
9188
} else {
9289
rawMeasures[value] = RawMeasure(time: time, text: value)
9390
}
9491
}
95-
guard !shouldCancel else { break }
9692
}
9793
processingDidFinish()
9894
}

0 commit comments

Comments
 (0)