From e08f6d6f54438eed1dd7b89f3d38132b0c776253 Mon Sep 17 00:00:00 2001 From: Philip Webster Date: Thu, 1 Dec 2016 22:49:40 -0800 Subject: [PATCH 1/6] match strong delegate suffix --- Source/SwiftLintFramework/Rules/WeakDelegateRule.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift b/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift index 0f15b29334..2b2ab6b26c 100644 --- a/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift +++ b/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift @@ -30,7 +30,6 @@ public struct WeakDelegateRule: ASTRule, ConfigurationProviderRule { triggeringExamples: [ "class Foo {\n var delegate: SomeProtocol?\n}\n", "class Foo {\n var scrollDelegate: ScrollDelegate?\n}\n", - "class Foo {\n var delegateScroll: ScrollDelegate?\n}\n" ] ) @@ -43,7 +42,7 @@ public struct WeakDelegateRule: ASTRule, ConfigurationProviderRule { // Check if name contains "delegate" guard let name = (dictionary["key.name"] as? String), - name.lowercased().contains("delegate") else { + name.lowercased().hasSuffix("delegate") else { return [] } From 87c4f4b3601e9ac60cd0def7776b0c0a9533cb0d Mon Sep 17 00:00:00 2001 From: Philip Webster Date: Thu, 1 Dec 2016 23:08:05 -0800 Subject: [PATCH 2/6] weak delegate rule changelog entry --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b41139473d..cd6a1afb28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,9 @@ ##### Bug Fixes -* None. +* Fix `weak_delegate` rule reporting a violation for variables containing + but not ending in `delegate`. + [Phil Webster](https://github.com/philwebster) ## 0.13.2: Light Cycle From 1c0ec8b261072e00a70b9df3afde15fab5197f2b Mon Sep 17 00:00:00 2001 From: Philip Webster Date: Thu, 1 Dec 2016 23:10:26 -0800 Subject: [PATCH 3/6] changelog entry formatting --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd6a1afb28..f2652ecdc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ ##### Bug Fixes * Fix `weak_delegate` rule reporting a violation for variables containing - but not ending in `delegate`. + but not ending in `delegate`. [Phil Webster](https://github.com/philwebster) ## 0.13.2: Light Cycle From 7fee609ce393cfcf1f87a7f1df6a50fa31865e5c Mon Sep 17 00:00:00 2001 From: Philip Webster Date: Thu, 1 Dec 2016 23:11:35 -0800 Subject: [PATCH 4/6] more changelog formatting --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2652ecdc2..1f6ccd1dd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ ##### Bug Fixes * Fix `weak_delegate` rule reporting a violation for variables containing - but not ending in `delegate`. + but not ending in `delegate`. [Phil Webster](https://github.com/philwebster) ## 0.13.2: Light Cycle From 0c6674186ca9c4f1b966ec1dd58cd03e23a3f29b Mon Sep 17 00:00:00 2001 From: Philip Webster Date: Fri, 2 Dec 2016 11:13:53 -0800 Subject: [PATCH 5/6] delegate suffix example --- Source/SwiftLintFramework/Rules/WeakDelegateRule.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift b/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift index 2b2ab6b26c..c9b8203607 100644 --- a/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift +++ b/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift @@ -25,7 +25,9 @@ public struct WeakDelegateRule: ASTRule, ConfigurationProviderRule { // We only consider properties to be a delegate if it has "delegate" in its name "class Foo {\n var scrollHandler: ScrollDelegate?\n}\n", // Only trigger on instance variables, not local variables - "func foo() {\n var delegate: SomeDelegate\n}\n" + "func foo() {\n var delegate: SomeDelegate\n}\n", + // Only trigger when variable has the suffix "-delegate" to avoid false positives + "class Foo {\n var delegateNotified: Bool?\n}\n", ], triggeringExamples: [ "class Foo {\n var delegate: SomeProtocol?\n}\n", From 340f78c6b387b5626c3ed327ecf24bc2c3e8bb29 Mon Sep 17 00:00:00 2001 From: Philip Webster Date: Sat, 3 Dec 2016 14:41:22 -0800 Subject: [PATCH 6/6] omit trailing commas --- Source/SwiftLintFramework/Rules/WeakDelegateRule.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift b/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift index c9b8203607..1c52193687 100644 --- a/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift +++ b/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift @@ -27,11 +27,11 @@ public struct WeakDelegateRule: ASTRule, ConfigurationProviderRule { // Only trigger on instance variables, not local variables "func foo() {\n var delegate: SomeDelegate\n}\n", // Only trigger when variable has the suffix "-delegate" to avoid false positives - "class Foo {\n var delegateNotified: Bool?\n}\n", + "class Foo {\n var delegateNotified: Bool?\n}\n" ], triggeringExamples: [ "class Foo {\n var delegate: SomeProtocol?\n}\n", - "class Foo {\n var scrollDelegate: ScrollDelegate?\n}\n", + "class Foo {\n var scrollDelegate: ScrollDelegate?\n}\n" ] )