Code review by @djbe

This commit is contained in:
kawoou
2019-01-30 15:25:11 +09:00
parent ebb7ece511
commit 782ffdd4c7
2 changed files with 11 additions and 9 deletions

View File

@@ -71,15 +71,9 @@ public class VariableNode: NodeType {
if hasToken("if", at: 1) {
let components = components.suffix(from: 2)
#if swift(<5.0)
let elseIndex = components.index(of: "else")
#else
let elseIndex = components.firstIndex(of: "else")
#endif
if let safeElseIndex = elseIndex {
condition = try parser.compileExpression(components: Array(components.prefix(upTo: safeElseIndex)), token: token)
let elseToken = components.suffix(from: safeElseIndex.advanced(by: 1)).joined(separator: " ")
if let elseIndex = components.firstIndex(of: "else") {
condition = try parser.compileExpression(components: Array(components.prefix(upTo: elseIndex)), token: token)
let elseToken = components.suffix(from: elseIndex.advanced(by: 1)).joined(separator: " ")
elseExpression = try parser.compileResolvable(elseToken, containedIn: token)
} else {
condition = try parser.compileExpression(components: Array(components), token: token)

View File

@@ -36,3 +36,11 @@ public extension Variable {
}
}
#endif
#if !swift(>=4.2)
extension ArraySlice where Element: Equatable {
func firstIndex(of element: Element) -> Int? {
return index(of: element)
}
}
#endif