Skip to content

Commit 2996517

Browse files
author
Erik Strottmann
committed
Remove use of deprecated String.substring(with:)
1 parent a21ee89 commit 2996517

File tree

2 files changed

+21
-21
lines changed

2 files changed

+21
-21
lines changed

Sources/ExpressionParser.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,19 +110,19 @@ final class ExpressionParser {
110110
case .identifier(identifierStart: let identifierStart):
111111
switch c {
112112
case " ", "\r", "\n", "\r\n", "\t":
113-
let identifier = string.substring(with: identifierStart..<i)
113+
let identifier = String(string[identifierStart..<i])
114114
state = .doneExpressionPlusWhiteSpace(expression: Expression.identifier(identifier: identifier))
115115
case ".":
116-
let identifier = string.substring(with: identifierStart..<i)
116+
let identifier = String(string[identifierStart..<i])
117117
state = .waitingForScopingIdentifier(baseExpression: Expression.identifier(identifier: identifier))
118118
case "(":
119-
let identifier = string.substring(with: identifierStart..<i)
119+
let identifier = String(string[identifierStart..<i])
120120
filterExpressionStack.append(Expression.identifier(identifier: identifier))
121121
state = .waitingForAnyExpression
122122
case ")":
123123
if let filterExpression = filterExpressionStack.last {
124124
filterExpressionStack.removeLast()
125-
let identifier = string.substring(with: identifierStart..<i)
125+
let identifier = String(string[identifierStart..<i])
126126
let expression = Expression.filter(filterExpression: filterExpression, argumentExpression: Expression.identifier(identifier: identifier), partialApplication: false)
127127
state = .doneExpression(expression: expression)
128128
} else {
@@ -131,7 +131,7 @@ final class ExpressionParser {
131131
case ",":
132132
if let filterExpression = filterExpressionStack.last {
133133
filterExpressionStack.removeLast()
134-
let identifier = string.substring(with: identifierStart..<i)
134+
let identifier = String(string[identifierStart..<i])
135135
filterExpressionStack.append(Expression.filter(filterExpression: filterExpression, argumentExpression: Expression.identifier(identifier: identifier), partialApplication: true))
136136
state = .waitingForAnyExpression
137137
} else {
@@ -144,22 +144,22 @@ final class ExpressionParser {
144144
case .scopingIdentifier(identifierStart: let identifierStart, baseExpression: let baseExpression):
145145
switch c {
146146
case " ", "\r", "\n", "\r\n", "\t":
147-
let identifier = string.substring(with: identifierStart..<i)
147+
let identifier = String(string[identifierStart..<i])
148148
let scopedExpression = Expression.scoped(baseExpression: baseExpression, identifier: identifier)
149149
state = .doneExpressionPlusWhiteSpace(expression: scopedExpression)
150150
case ".":
151-
let identifier = string.substring(with: identifierStart..<i)
151+
let identifier = String(string[identifierStart..<i])
152152
let scopedExpression = Expression.scoped(baseExpression: baseExpression, identifier: identifier)
153153
state = .waitingForScopingIdentifier(baseExpression: scopedExpression)
154154
case "(":
155-
let identifier = string.substring(with: identifierStart..<i)
155+
let identifier = String(string[identifierStart..<i])
156156
let scopedExpression = Expression.scoped(baseExpression: baseExpression, identifier: identifier)
157157
filterExpressionStack.append(scopedExpression)
158158
state = .waitingForAnyExpression
159159
case ")":
160160
if let filterExpression = filterExpressionStack.last {
161161
filterExpressionStack.removeLast()
162-
let identifier = string.substring(with: identifierStart..<i)
162+
let identifier = String(string[identifierStart..<i])
163163
let scopedExpression = Expression.scoped(baseExpression: baseExpression, identifier: identifier)
164164
let expression = Expression.filter(filterExpression: filterExpression, argumentExpression: scopedExpression, partialApplication: false)
165165
state = .doneExpression(expression: expression)
@@ -169,7 +169,7 @@ final class ExpressionParser {
169169
case ",":
170170
if let filterExpression = filterExpressionStack.last {
171171
filterExpressionStack.removeLast()
172-
let identifier = string.substring(with: identifierStart..<i)
172+
let identifier = String(string[identifierStart..<i])
173173
let scopedExpression = Expression.scoped(baseExpression: baseExpression, identifier: identifier)
174174
filterExpressionStack.append(Expression.filter(filterExpression: filterExpression, argumentExpression: scopedExpression, partialApplication: true))
175175
state = .waitingForAnyExpression

Sources/TemplateParser.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ final class TemplateParser {
146146
return
147147
}
148148
case "#":
149-
let content = templateString.substring(with: templateString.index(after: tagInitialIndex)..<i)
149+
let content = String(templateString[templateString.index(after: tagInitialIndex)..<i])
150150
let token = TemplateToken(
151151
type: .section(content: content, tagDelimiterPair: currentDelimiters.tagDelimiterPair),
152152
lineNumber: startLineNumber,
@@ -157,7 +157,7 @@ final class TemplateParser {
157157
return
158158
}
159159
case "^":
160-
let content = templateString.substring(with: templateString.index(after: tagInitialIndex)..<i)
160+
let content = String(templateString[templateString.index(after: tagInitialIndex)..<i])
161161
let token = TemplateToken(
162162
type: .invertedSection(content: content, tagDelimiterPair: currentDelimiters.tagDelimiterPair),
163163
lineNumber: startLineNumber,
@@ -168,7 +168,7 @@ final class TemplateParser {
168168
return
169169
}
170170
case "$":
171-
let content = templateString.substring(with: templateString.index(after: tagInitialIndex)..<i)
171+
let content = String(templateString[templateString.index(after: tagInitialIndex)..<i])
172172
let token = TemplateToken(
173173
type: .block(content: content),
174174
lineNumber: startLineNumber,
@@ -179,7 +179,7 @@ final class TemplateParser {
179179
return
180180
}
181181
case "/":
182-
let content = templateString.substring(with: templateString.index(after: tagInitialIndex)..<i)
182+
let content = String(templateString[templateString.index(after: tagInitialIndex)..<i])
183183
let token = TemplateToken(
184184
type: .close(content: content),
185185
lineNumber: startLineNumber,
@@ -190,7 +190,7 @@ final class TemplateParser {
190190
return
191191
}
192192
case ">":
193-
let content = templateString.substring(with: templateString.index(after: tagInitialIndex)..<i)
193+
let content = String(templateString[templateString.index(after: tagInitialIndex)..<i])
194194
let token = TemplateToken(
195195
type: .partial(content: content),
196196
lineNumber: startLineNumber,
@@ -201,7 +201,7 @@ final class TemplateParser {
201201
return
202202
}
203203
case "<":
204-
let content = templateString.substring(with: templateString.index(after: tagInitialIndex)..<i)
204+
let content = String(templateString[templateString.index(after: tagInitialIndex)..<i])
205205
let token = TemplateToken(
206206
type: .partialOverride(content: content),
207207
lineNumber: startLineNumber,
@@ -212,7 +212,7 @@ final class TemplateParser {
212212
return
213213
}
214214
case "&":
215-
let content = templateString.substring(with: templateString.index(after: tagInitialIndex)..<i)
215+
let content = String(templateString[templateString.index(after: tagInitialIndex)..<i])
216216
let token = TemplateToken(
217217
type: .unescapedVariable(content: content, tagDelimiterPair: currentDelimiters.tagDelimiterPair),
218218
lineNumber: startLineNumber,
@@ -223,7 +223,7 @@ final class TemplateParser {
223223
return
224224
}
225225
case "%":
226-
let content = templateString.substring(with: templateString.index(after: tagInitialIndex)..<i)
226+
let content = String(templateString[templateString.index(after: tagInitialIndex)..<i])
227227
let token = TemplateToken(
228228
type: .pragma(content: content),
229229
lineNumber: startLineNumber,
@@ -234,7 +234,7 @@ final class TemplateParser {
234234
return
235235
}
236236
default:
237-
let content = templateString.substring(with: tagInitialIndex..<i)
237+
let content = String(templateString[tagInitialIndex..<i])
238238
let token = TemplateToken(
239239
type: .escapedVariable(content: content, tagDelimiterPair: currentDelimiters.tagDelimiterPair),
240240
lineNumber: startLineNumber,
@@ -255,7 +255,7 @@ final class TemplateParser {
255255
lineNumber += 1
256256
} else if atString(i, currentDelimiters.unescapedTagEnd) {
257257
let tagInitialIndex = templateString.index(startIndex, offsetBy: currentDelimiters.unescapedTagStartLength)
258-
let content = templateString.substring(with: tagInitialIndex..<i)
258+
let content = String(templateString[tagInitialIndex..<i])
259259
let token = TemplateToken(
260260
type: .unescapedVariable(content: content, tagDelimiterPair: currentDelimiters.tagDelimiterPair),
261261
lineNumber: startLineNumber,
@@ -274,7 +274,7 @@ final class TemplateParser {
274274
lineNumber += 1
275275
} else if atString(i, currentDelimiters.setDelimitersEnd) {
276276
let tagInitialIndex = templateString.index(startIndex, offsetBy: currentDelimiters.setDelimitersStartLength)
277-
let content = templateString.substring(with: tagInitialIndex..<i)
277+
let content = String(templateString[tagInitialIndex..<i])
278278
let newDelimiters = content.components(separatedBy: CharacterSet.whitespacesAndNewlines).filter { $0.count > 0 }
279279
if (newDelimiters.count != 2) {
280280
let error = MustacheError(kind: .parseError, message: "Invalid set delimiters tag", templateID: templateID, lineNumber: startLineNumber)

0 commit comments

Comments
 (0)