                 "↓foo = 1 \(operation) foo\n",
                 "↓foo = aVariable \(operation) foo\n",
                 "↓foo = bar.method() \(operation) foo\n",
-                "↓foo = bar.method(param: 1, otherParam: 2) \(operation) foo\n"
+                "↓foo = bar.method(param: 1, otherParam: 2) \(operation) foo\n",
+                "↓foo.aProperty = foo.aProperty \(operation) 1\n",
+                "↓self.aProperty = self.aProperty \(operation) 1\n"
             ]
         }
     )

        let spaces = "[^\\S\\r\\n]*?"
        let otherOperand = "\(spaces).+?\(spaces)"

        let pattern1 = "\\b(\(operand))\(spaces)=\(spaces)(\\1)\(spaces)\(operators)"
        let pattern2 = "\\b(\(operand))\(spaces)=\(otherOperand)\(operators)\(spaces)(\\3)"

        return "\(pattern1)|\(pattern2)"
    }()

    // swiftlint:disable:next force_try
    private static let regex = try! NSRegularExpression(pattern: pattern, options: [])

    public func validateFile(_ file: File) -> [StyleViolation] {
        let contents = file.contents.bridge()

            [
                "foo \(operation)= 1",
                "foo \(operation)= variable",
                "foo \(operation)= bar.method()",
                "self.foo = foo \(operation) 1",
                "foo = self.foo \(operation) 1"
            ]
        },
        triggeringExamples: allOperators.flatMap { operation in
