mirror of
https://github.com/safishamsi/graphify.git
synced 2026-07-13 10:57:13 +00:00
477465ae0d
* feat: add Swift language support Add tree-sitter-swift extractor for classes, structs, protocols, functions, imports, and call graph edges. Includes 8 passing tests. * feat: full Swift AST support — enums, extensions, actors, conformance - Enums: extract enum types, methods, and cases (case_of edges) - Extensions: methods attach to the original type (no duplicate nodes) - Actors: recognized via unified class_declaration node type - Conformance/inheritance: inherits edges from : Protocol syntax - deinit/subscript: name resolution for nameless declarations - 12 new tests (110 total, all passing)
74 lines
1.1 KiB
Swift
74 lines
1.1 KiB
Swift
import Foundation
|
|
import UIKit
|
|
|
|
protocol Processor {
|
|
func process() -> [String]
|
|
}
|
|
|
|
protocol Loggable {
|
|
func log()
|
|
}
|
|
|
|
class DataProcessor: Processor {
|
|
private var items: [String] = []
|
|
|
|
init() {}
|
|
|
|
deinit {}
|
|
|
|
func addItem(_ item: String) {
|
|
items.append(item)
|
|
}
|
|
|
|
func process() -> [String] {
|
|
return validate(items)
|
|
}
|
|
|
|
private func validate(_ data: [String]) -> [String] {
|
|
return data.filter { !$0.isEmpty }
|
|
}
|
|
}
|
|
|
|
struct Config {
|
|
let baseUrl: String
|
|
let timeout: Int
|
|
|
|
subscript(key: String) -> String? {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
enum NetworkError {
|
|
case timeout
|
|
case connectionFailed
|
|
case unauthorized
|
|
|
|
func describe() -> String {
|
|
return "error"
|
|
}
|
|
}
|
|
|
|
actor CacheManager {
|
|
private var store: [String: String] = [:]
|
|
|
|
func get(_ key: String) -> String? {
|
|
return store[key]
|
|
}
|
|
}
|
|
|
|
extension DataProcessor: Loggable {
|
|
func log() {
|
|
print("logging")
|
|
}
|
|
}
|
|
|
|
extension Config {
|
|
func isValid() -> Bool {
|
|
return !baseUrl.isEmpty
|
|
}
|
|
}
|
|
|
|
func createProcessor() -> DataProcessor {
|
|
return DataProcessor()
|
|
}
|