├── .gitignore ├── LICENSE ├── Package.resolved ├── Package.swift ├── README.md ├── Sources ├── SwiftLeakCheck │ ├── BackwardCompatiblity.swift │ ├── BaseSyntaxTreeLeakDetector.swift │ ├── DirectoryScanner.swift │ ├── Function.swift │ ├── FunctionSignature.swift │ ├── Graph.swift │ ├── GraphBuilder.swift │ ├── GraphLeakDetector.swift │ ├── Leak.swift │ ├── LeakDetector.swift │ ├── NonEscapeRules │ │ ├── CollectionRules.swift │ │ ├── DispatchQueueRule.swift │ │ ├── ExprSyntaxPredicate.swift │ │ ├── NonEscapeRule.swift │ │ ├── UIViewAnimationRule.swift │ │ └── UIViewControllerAnimationRule.swift │ ├── Scope.swift │ ├── SourceFileScope.swift │ ├── Stack.swift │ ├── SwiftSyntax+Extensions.swift │ ├── Symbol.swift │ ├── SyntaxRetrieval.swift │ ├── TypeDecl.swift │ ├── TypeResolve.swift │ ├── Utility.swift │ └── Variable.swift └── SwiftLeakChecker │ └── main.swift ├── SwiftLeakCheck.xcodeproj ├── CYaml_Info.plist ├── Clang_C_Info.plist ├── GeneratedModuleMap │ └── _CSwiftSyntax │ │ └── module.modulemap ├── SWXMLHash_Info.plist ├── SourceKit_Info.plist ├── SourceKittenFramework_Info.plist ├── SwiftLeakCheckTests_Info.plist ├── SwiftLeakCheck_Info.plist ├── SwiftSyntax_Info.plist ├── Yams_Info.plist ├── _CSwiftSyntax_Info.plist ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings └── xcshareddata │ └── xcschemes │ ├── SwiftLeakCheck-Package.xcscheme │ └── SwiftLeakChecker.xcscheme ├── Tests └── SwiftLeakCheckTests │ ├── LeakDetectorTests.swift │ ├── Snippets │ ├── DispatchQueue │ ├── EscapingAttribute │ ├── Extensions │ ├── FuncResolve │ ├── IfElse │ ├── Leak1 │ ├── Leak2 │ ├── NestedClosure │ ├── NonEscapingClosure │ ├── TypeInfer │ ├── TypeResolve │ ├── UIViewAnimation │ └── UIViewControllerAnimation │ └── StackTests.swift └── images ├── leakcheck_sample.png └── leakcheck_sample_xcode.png /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | # /*.xcodeproj 5 | xcuserdata/ 6 | DerivedData -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/README.md -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/BackwardCompatiblity.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/BackwardCompatiblity.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/BaseSyntaxTreeLeakDetector.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/BaseSyntaxTreeLeakDetector.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/DirectoryScanner.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/DirectoryScanner.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/Function.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/Function.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/FunctionSignature.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/FunctionSignature.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/Graph.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/Graph.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/GraphBuilder.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/GraphBuilder.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/GraphLeakDetector.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/GraphLeakDetector.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/Leak.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/Leak.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/LeakDetector.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/LeakDetector.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/NonEscapeRules/CollectionRules.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/NonEscapeRules/CollectionRules.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/NonEscapeRules/DispatchQueueRule.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/NonEscapeRules/DispatchQueueRule.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/NonEscapeRules/ExprSyntaxPredicate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/NonEscapeRules/ExprSyntaxPredicate.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/NonEscapeRules/NonEscapeRule.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/NonEscapeRules/NonEscapeRule.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/NonEscapeRules/UIViewAnimationRule.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/NonEscapeRules/UIViewAnimationRule.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/NonEscapeRules/UIViewControllerAnimationRule.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/NonEscapeRules/UIViewControllerAnimationRule.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/Scope.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/Scope.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/SourceFileScope.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/SourceFileScope.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/Stack.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/Stack.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/SwiftSyntax+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/SwiftSyntax+Extensions.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/Symbol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/Symbol.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/SyntaxRetrieval.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/SyntaxRetrieval.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/TypeDecl.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/TypeDecl.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/TypeResolve.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/TypeResolve.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/Utility.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/Utility.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakCheck/Variable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakCheck/Variable.swift -------------------------------------------------------------------------------- /Sources/SwiftLeakChecker/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Sources/SwiftLeakChecker/main.swift -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/CYaml_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/CYaml_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/Clang_C_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/Clang_C_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/GeneratedModuleMap/_CSwiftSyntax/module.modulemap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/GeneratedModuleMap/_CSwiftSyntax/module.modulemap -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/SWXMLHash_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/SWXMLHash_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/SourceKit_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/SourceKit_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/SourceKittenFramework_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/SourceKittenFramework_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/SwiftLeakCheckTests_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/SwiftLeakCheckTests_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/SwiftLeakCheck_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/SwiftLeakCheck_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/SwiftSyntax_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/SwiftSyntax_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/Yams_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/Yams_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/_CSwiftSyntax_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/_CSwiftSyntax_Info.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/xcshareddata/xcschemes/SwiftLeakCheck-Package.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/xcshareddata/xcschemes/SwiftLeakCheck-Package.xcscheme -------------------------------------------------------------------------------- /SwiftLeakCheck.xcodeproj/xcshareddata/xcschemes/SwiftLeakChecker.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/SwiftLeakCheck.xcodeproj/xcshareddata/xcschemes/SwiftLeakChecker.xcscheme -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/LeakDetectorTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/LeakDetectorTests.swift -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/DispatchQueue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/DispatchQueue -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/EscapingAttribute: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/EscapingAttribute -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/Extensions: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/Extensions -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/FuncResolve: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/FuncResolve -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/IfElse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/IfElse -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/Leak1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/Leak1 -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/Leak2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/Leak2 -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/NestedClosure: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/NestedClosure -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/NonEscapingClosure: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/NonEscapingClosure -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/TypeInfer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/TypeInfer -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/TypeResolve: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/TypeResolve -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/UIViewAnimation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/UIViewAnimation -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/Snippets/UIViewControllerAnimation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/Snippets/UIViewControllerAnimation -------------------------------------------------------------------------------- /Tests/SwiftLeakCheckTests/StackTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/Tests/SwiftLeakCheckTests/StackTests.swift -------------------------------------------------------------------------------- /images/leakcheck_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/images/leakcheck_sample.png -------------------------------------------------------------------------------- /images/leakcheck_sample_xcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grab/swift-leak-check/HEAD/images/leakcheck_sample_xcode.png --------------------------------------------------------------------------------