             return
         }
 
-        availabilityChecks.append(availability)
+        violations.append(ReasonedRuleViolation(
+            position: availability.positionAfterSkippingLeadingTrivia,
+            reason: provideViolationReason(for: availability)
+        ))
     }
 
     private func asAvailabilityCondition(_ condition: Syntax) -> SyntaxProtocol? {

        }
        return false
    }
}

        ]
    )

    public func makeVisitor(file: SwiftLintFile) -> ViolationsSyntaxVisitor? {
        UnavailableConditionRuleVisitor(viewMode: .sourceAccurate)
    }
}

private final class UnavailableConditionRuleVisitor: ViolationsSyntaxVisitor {
    override func visitPost(_ node: IfStmtSyntax) {
        guard node.body.statements.withoutTrivia().isEmpty else {
            return
