Feat: Add support for Swift 4.0

This commit is contained in:
andy
2018-10-01 11:58:20 +01:00
parent 01afae9b79
commit 66a9bc563a
7 changed files with 61 additions and 10 deletions

View File

@@ -118,7 +118,12 @@ final class IfExpressionParser {
private init(components: ArraySlice<String>, tokenParser: TokenParser, token: Token) throws {
var parsedComponents = Set<Int>()
var bracketsBalance = 0
self.tokens = try zip(components.indices, components).compactMap { (index, component) in
#if swift(>=4.1)
self.tokens = try zip(components.indices, components).compactMap { try parseComponent(index: $0.0, component: $0.1) }
#else
self.tokens = try zip(components.indices, components).flatMap { try parseComponent(index: $0.0, component: $0.1) }
#endif
func parseComponent(index: Int, component: String) throws -> IfToken? {
guard !parsedComponents.contains(index) else { return nil }
if component == "(" {