Skip to content

Commit

Permalink
Update SwiftSyntax
Browse files Browse the repository at this point in the history
  • Loading branch information
ileitch committed Sep 17, 2023
1 parent b7da434 commit 91c9d91
Show file tree
Hide file tree
Showing 8 changed files with 94 additions and 94 deletions.
10 changes: 5 additions & 5 deletions Package.resolved
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@
{
"identity" : "swift-syntax",
"kind" : "remoteSourceControl",
"location" : "https://github.com/peripheryapp/swift-syntax",
"location" : "https://github.com/apple/swift-syntax",
"state" : {
"revision" : "56ef324e094ad1e655ae7d8c8dabadc7e6bd64e9",
"version" : "1.0.2"
"revision" : "74203046135342e4a4a627476dd6caf8b28fe11b",
"version" : "509.0.0"
}
},
{
Expand All @@ -77,8 +77,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/tuist/xcodeproj",
"state" : {
"revision" : "6e60fb55271c80f83a186c9b1b4982fd991cfc0a",
"version" : "8.13.0"
"revision" : "3797181813ee963fe305d939232bc576d23ddbb0",
"version" : "8.15.0"
}
},
{
Expand Down
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ var dependencies: [Package.Dependency] = [
.package(url: "https://github.com/tadija/AEXML", from: "4.0.0"),
.package(url: "https://github.com/apple/swift-argument-parser", from: "1.0.0"),
.package(url: "https://github.com/ileitch/swift-indexstore", from: "9.0.3"),
.package(url: "https://github.com/peripheryapp/swift-syntax", exact: "1.0.2"),
.package(url: "https://github.com/apple/swift-syntax", from: "509.0.0"),
.package(url: "https://github.com/ileitch/swift-filename-matcher", from: "0.0.0"),
]

Expand Down
106 changes: 53 additions & 53 deletions Sources/PeripheryKit/Syntax/DeclarationSyntaxVisitor.swift

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Sources/PeripheryKit/Syntax/ImportSyntaxVisitor.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ final class ImportSyntaxVisitor: PeripherySyntaxVisitor {

func visit(_ node: ImportDeclSyntax) {
let parts = node.path.map { $0.name.text }
let attributes = node.attributes?.compactMap { $0.as(AttributeSyntax.self)?.attributeName.trimmedDescription } ?? []
let attributes = node.attributes.compactMap { $0.as(AttributeSyntax.self)?.attributeName.trimmedDescription }
importStatements.append((parts, attributes.contains("testable")))
}
}
26 changes: 13 additions & 13 deletions Sources/PeripheryKit/Syntax/MultiplexingSyntaxVisitor.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ protocol PeripherySyntaxVisitor {
func visit(_ node: DeinitializerDeclSyntax)
func visit(_ node: SubscriptDeclSyntax)
func visit(_ node: VariableDeclSyntax)
func visit(_ node: TypealiasDeclSyntax)
func visit(_ node: AssociatedtypeDeclSyntax)
func visit(_ node: TypeAliasDeclSyntax)
func visit(_ node: AssociatedTypeDeclSyntax)
func visit(_ node: OperatorDeclSyntax)
func visit(_ node: PrecedenceGroupDeclSyntax)
func visit(_ node: ImportDeclSyntax)
Expand All @@ -36,8 +36,8 @@ protocol PeripherySyntaxVisitor {
func visitPost(_ node: DeinitializerDeclSyntax)
func visitPost(_ node: SubscriptDeclSyntax)
func visitPost(_ node: VariableDeclSyntax)
func visitPost(_ node: TypealiasDeclSyntax)
func visitPost(_ node: AssociatedtypeDeclSyntax)
func visitPost(_ node: TypeAliasDeclSyntax)
func visitPost(_ node: AssociatedTypeDeclSyntax)
func visitPost(_ node: OperatorDeclSyntax)
func visitPost(_ node: PrecedenceGroupDeclSyntax)
func visitPost(_ node: ImportDeclSyntax)
Expand All @@ -57,8 +57,8 @@ extension PeripherySyntaxVisitor {
func visit(_ node: DeinitializerDeclSyntax) { }
func visit(_ node: SubscriptDeclSyntax) { }
func visit(_ node: VariableDeclSyntax) { }
func visit(_ node: TypealiasDeclSyntax) { }
func visit(_ node: AssociatedtypeDeclSyntax) { }
func visit(_ node: TypeAliasDeclSyntax) { }
func visit(_ node: AssociatedTypeDeclSyntax) { }
func visit(_ node: OperatorDeclSyntax) { }
func visit(_ node: PrecedenceGroupDeclSyntax) { }
func visit(_ node: ImportDeclSyntax) { }
Expand All @@ -76,8 +76,8 @@ extension PeripherySyntaxVisitor {
func visitPost(_ node: DeinitializerDeclSyntax) {}
func visitPost(_ node: SubscriptDeclSyntax) {}
func visitPost(_ node: VariableDeclSyntax) {}
func visitPost(_ node: TypealiasDeclSyntax) {}
func visitPost(_ node: AssociatedtypeDeclSyntax) {}
func visitPost(_ node: TypeAliasDeclSyntax) {}
func visitPost(_ node: AssociatedTypeDeclSyntax) {}
func visitPost(_ node: OperatorDeclSyntax) {}
func visitPost(_ node: PrecedenceGroupDeclSyntax) {}
func visitPost(_ node: ImportDeclSyntax) {}
Expand All @@ -95,7 +95,7 @@ final class MultiplexingSyntaxVisitor: SyntaxVisitor {
required init(file: SourceFile) throws {
let source = try String(contentsOf: file.path.url)
self.syntax = Parser.parse(source: source)
self.locationConverter = SourceLocationConverter(file: file.path.string, tree: syntax)
self.locationConverter = SourceLocationConverter(fileName: file.path.string, tree: syntax)
self.sourceLocationBuilder = SourceLocationBuilder(file: file, locationConverter: locationConverter)
super.init(viewMode: .sourceAccurate)
}
Expand Down Expand Up @@ -165,12 +165,12 @@ final class MultiplexingSyntaxVisitor: SyntaxVisitor {
return .visitChildren
}

override func visit(_ node: TypealiasDeclSyntax) -> SyntaxVisitorContinueKind {
override func visit(_ node: TypeAliasDeclSyntax) -> SyntaxVisitorContinueKind {
visitors.forEach { $0.visit(node) }
return .visitChildren
}

override func visit(_ node: AssociatedtypeDeclSyntax) -> SyntaxVisitorContinueKind {
override func visit(_ node: AssociatedTypeDeclSyntax) -> SyntaxVisitorContinueKind {
visitors.forEach { $0.visit(node) }
return .visitChildren
}
Expand Down Expand Up @@ -244,11 +244,11 @@ final class MultiplexingSyntaxVisitor: SyntaxVisitor {
visitors.forEach { $0.visitPost(node) }
}

override func visitPost(_ node: TypealiasDeclSyntax) {
override func visitPost(_ node: TypeAliasDeclSyntax) {
visitors.forEach { $0.visitPost(node) }
}

override func visitPost(_ node: AssociatedtypeDeclSyntax) {
override func visitPost(_ node: AssociatedTypeDeclSyntax) {
visitors.forEach { $0.visitPost(node) }
}

Expand Down
20 changes: 10 additions & 10 deletions Sources/PeripheryKit/Syntax/TypeSyntaxInspector.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,32 +28,32 @@ struct TypeSyntaxInspector {
// MARK: - Private

func types(for typeSyntax: TypeSyntax) -> Set<TokenSyntax> {
if let simpleType = typeSyntax.as(SimpleTypeIdentifierSyntax.self) {
if let identifierType = typeSyntax.as(IdentifierTypeSyntax.self) {
// Simple type.
var result = simpleType.genericArgumentClause?.arguments.flatMapSet { types(for: $0.argumentType) } ?? []
return result.inserting(simpleType.name)
var result = identifierType.genericArgumentClause?.arguments.flatMapSet { types(for: $0.argument) } ?? []
return result.inserting(identifierType.name)
} else if let optionalType = typeSyntax.as(OptionalTypeSyntax.self) {
// Optional type.
return types(for: optionalType.wrappedType)
} else if let memberType = typeSyntax.as(MemberTypeIdentifierSyntax.self) {
} else if let memberType = typeSyntax.as(MemberTypeSyntax.self) {
// Member type.
return types(for: memberType.baseType).union([memberType.name])
} else if let tuple = typeSyntax.as(TupleTypeSyntax.self) {
// Tuple type.
return tuple.elements.flatMapSet { types(for: $0.type) }
} else if let funcType = typeSyntax.as(FunctionTypeSyntax.self) {
// Function type.
let argumentTypes = funcType.arguments.flatMapSet { types(for: $0.type) }
return types(for: funcType.output.returnType).union(argumentTypes)
let argumentTypes = funcType.parameters.flatMapSet { types(for: $0.type) }
return types(for: funcType.returnClause.type).union(argumentTypes)
} else if let arrayType = typeSyntax.as(ArrayTypeSyntax.self) {
// Array type.
return types(for: arrayType.elementType)
return types(for: arrayType.element)
} else if let dictType = typeSyntax.as(DictionaryTypeSyntax.self) {
// Dictionary type.
return types(for: dictType.keyType).union(types(for: dictType.valueType))
} else if let someType = typeSyntax.as(ConstrainedSugarTypeSyntax.self) {
return types(for: dictType.key).union(types(for: dictType.value))
} else if let someType = typeSyntax.as(SomeOrAnyTypeSyntax.self) {
// Some type.
return types(for: someType.baseType)
return types(for: someType.constraint)
} else if let implicitUnwrappedOptionalType = typeSyntax.as(ImplicitlyUnwrappedOptionalTypeSyntax.self) {
// Implicitly unwrapped optional type.
return types(for: implicitUnwrappedOptionalType.wrappedType)
Expand Down
2 changes: 1 addition & 1 deletion Sources/PeripheryKit/Syntax/UnusedParameterAnalyzer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ final class UnusedParameterAnalyzer {
}
case let item as Identifier:
return item.name == param.name ? .used : .unused
case let item as GenericItem where item.node.is(TupleExprElementListSyntax.self): // function call arguments
case let item as GenericItem where item.node.is(LabeledExprListSyntax.self): // function call arguments
for item in item.items {
if isParam(param, usedIn: item) {
return .used
Expand Down
20 changes: 10 additions & 10 deletions Sources/PeripheryKit/Syntax/UnusedParameterParser.swift
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ struct UnusedParameterParser {
static func parse(file: SourceFile, parseProtocols: Bool) throws -> [Function] {
let source = try String(contentsOf: file.path.url)
let syntax = Parser.parse(source: source)
let locationConverter = SourceLocationConverter(file: file.path.string, tree: syntax)
let locationConverter = SourceLocationConverter(fileName: file.path.string, tree: syntax)
return parse(
file: file,
syntax: syntax,
Expand Down Expand Up @@ -189,14 +189,14 @@ struct UnusedParameterParser {
parsed = parse(node: node.base, collector)
} else if let node = node.as(CodeBlockItemSyntax.self) {
parsed = parse(node: node.item, collector)
} else if let node = node.as(ParameterClauseSyntax.self) {
parsed = parse(node: node.parameterList, collector)
} else if let node = node.as(FunctionParameterClauseSyntax.self) {
parsed = parse(node: node.parameters, collector)
} else if let node = node.as(VariableDeclSyntax.self) {
parsed = parse(variableDecl: node, collector)
} else if let node = node.as(ClosureExprSyntax.self) {
parsed = parse(closureExpr: node, collector)
} else if let node = node.as(IdentifierExprSyntax.self) {
parsed = parse(identifier: node.identifier)
} else if let node = node.as(DeclReferenceExprSyntax.self) {
parsed = parse(identifier: node.baseName)
} else if let node = node.as(FunctionParameterSyntax.self) {
parsed = parse(functionParameter: node)
} else if let node = node.as(FunctionDeclSyntax.self) {
Expand Down Expand Up @@ -258,7 +258,7 @@ struct UnusedParameterParser {

private func parse<T>(closureExpr syntax: ClosureExprSyntax, _ collector: Collector<T>?) -> Closure? {
let signature = syntax.children(viewMode: .sourceAccurate).mapFirst { $0.as(ClosureSignatureSyntax.self) }
let rawParams = signature?.input?.children(viewMode: .sourceAccurate).compactMap { $0.as(ClosureParamSyntax.self) }
let rawParams = signature?.parameterClause?.children(viewMode: .sourceAccurate).compactMap { $0.as(ClosureShorthandParameterSyntax.self) }
let params = rawParams?.map { $0.name.text } ?? []
let items = syntax.statements.compactMap { parse(node: $0.item, collector) }
return Closure(params: params, items: items)
Expand All @@ -284,7 +284,7 @@ struct UnusedParameterParser {

let items = bindings.flatMap {
let initializerItems = $0.initializer?.children(viewMode: .sourceAccurate).compactMap { parse(node: $0, collector) } ?? []
let accessorItems = $0.accessor?.children(viewMode: .sourceAccurate).compactMap { parse(node: $0, collector) } ?? []
let accessorItems = $0.accessorBlock?.children(viewMode: .sourceAccurate).compactMap { parse(node: $0, collector) } ?? []
return initializerItems + accessorItems
}

Expand All @@ -302,8 +302,8 @@ struct UnusedParameterParser {
attributes: syntax.attributes,
genericParams: syntax.genericParameterClause,
body: syntax.body,
named: syntax.identifier.text,
position: syntax.identifier.positionAfterSkippingLeadingTrivia,
named: syntax.name.text,
position: syntax.name.positionAfterSkippingLeadingTrivia,
collector)
}

Expand Down Expand Up @@ -335,7 +335,7 @@ struct UnusedParameterParser {
let params = parse(children: syntax.children(viewMode: .sourceAccurate), collecting: Parameter.self)
let items = parse(node: body, collector)?.items ?? []
let fullName = buildFullName(for: name, with: params)
let genericParamNames = genericParams?.genericParameterList.compactMap { $0.name.text } ?? []
let genericParamNames = genericParams?.parameters.compactMap { $0.name.text } ?? []
let attributeNames = attributes?.children(viewMode: .sourceAccurate).compactMap { AttributeSyntax($0)?.attributeName.trimmedDescription } ?? []

let function = Function(
Expand Down

0 comments on commit 91c9d91

Please sign in to comment.