Files
SwiftLint/Structs/RuleDescription.html
T
2025-06-22 14:27:57 +00:00

1055 lines
58 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<title>RuleDescription Structure Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset="utf-8">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Struct/RuleDescription" class="dashAnchor"></a>
<a title="RuleDescription Structure Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SwiftLintCore 0.59.1 Docs
</a>
(100% documented)
</p>
<div class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</div>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/realm/SwiftLint">
<img class="header-icon" src="../img/gh.png" alt="GitHub"/>
View on GitHub
</a>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="dash-feed://https%3A%2F%2Frealm.github.io%2FSwiftLint%2Fdocsets%2FSwiftLintCore.xml">
<img class="header-icon" src="../img/dash.png" alt="Dash"/>
Install in Dash
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">SwiftLintCore</a>
<img class="carat" src="../img/carat.png" alt=""/>
<a class="breadcrumb" href="../Structs.html">Structures</a>
<img class="carat" src="../img/carat.png" alt=""/>
RuleDescription Structure Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Rules.html">Rules</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../rule-directory.html">Rule Directory</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BodyLengthVisitor.html">BodyLengthVisitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CodeBlockVisitor.html">CodeBlockVisitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CodeIndentingRewriter.html">CodeIndentingRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CodeIndentingRewriter/IndentationStyle.html"> IndentationStyle</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DeclaredIdentifiersTrackingVisitor.html">DeclaredIdentifiersTrackingVisitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/RuleRegistry.html">RuleRegistry</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/RuleStorage.html">RuleStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SwiftLintFile.html">SwiftLintFile</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ViolationsSyntaxRewriter.html">ViolationsSyntaxRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/AccessControlLevel.html">AccessControlLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CurrentRule.html">CurrentRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/IdentifierDeclaration.html">IdentifierDeclaration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/Issue.html">Issue</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/OptionType.html">OptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RuleIdentifier.html">RuleIdentifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RuleKind.html">RuleKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RuleListError.html">RuleListError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SwiftExpressionKind.html">SwiftExpressionKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SwiftSyntaxKindBridge.html">SwiftSyntaxKindBridge</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ViolationSeverity.html">ViolationSeverity</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Array.html">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Optional.html">Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Set.html">Set</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ASTRule.html">ASTRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AcceptableByConfigurationElement.html">AcceptableByConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnalyzerRule.html">AnalyzerRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:13SwiftLintCore17AnyCollectingRuleP">AnyCollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CacheDescriptionProvider.html">CacheDescriptionProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CollectingRule.html">CollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ConditionallySourceKitFree.html">ConditionallySourceKitFree</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CorrectableRule.html">CorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/Documentable.html">Documentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:13SwiftLintCore19InlinableOptionTypeP">InlinableOptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:13SwiftLintCore9OptInRuleP">OptInRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/Rule.html">Rule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/RuleConfiguration.html">RuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SeverityBasedRuleConfiguration.html">SeverityBasedRuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:13SwiftLintCore17SourceKitFreeRuleP">SourceKitFreeRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SubstitutionCorrectableRule.html">SubstitutionCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SwiftSyntaxCorrectableRule.html">SwiftSyntaxCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SwiftSyntaxRule.html">SwiftSyntaxRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/VersionComparable.html">VersionComparable</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Baseline.html">Baseline</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/ChildOptionSeverityConfiguration.html">ChildOptionSeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Command.html">Command</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Command/Action.html"> Action</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Command/Modifier.html"> Modifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/ConfigurationElement.html">ConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/ConfigurationElement/DeprecationNotice.html"> DeprecationNotice</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Correction.html">Correction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Example.html">Example</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Location.html">Location</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/ReasonedRuleViolation.html">ReasonedRuleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/ReasonedRuleViolation/ViolationCorrection.html"> ViolationCorrection</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/RegexConfiguration.html">RegexConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/RegexConfiguration/ExecutionMode.html"> ExecutionMode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Region.html">Region</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/RuleConfigurationDescription.html">RuleConfigurationDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs.html#/s:13SwiftLintCore35RuleConfigurationDescriptionBuilderV">RuleConfigurationDescriptionBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/RuleConfigurationOption.html">RuleConfigurationOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/RuleDescription.html">RuleDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/RuleList.html">RuleList</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/RuleParameter.html">RuleParameter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SeverityConfiguration.html">SeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SeverityLevelsConfiguration.html">SeverityLevelsConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Stack.html">Stack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/StyleViolation.html">StyleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SwiftLintSyntaxMap.html">SwiftLintSyntaxMap</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SwiftLintSyntaxToken.html">SwiftLintSyntaxToken</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SwiftVersion.html">SwiftVersion</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Macros.html">Macros</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Macros.html#/s:13SwiftLintCore32AcceptableByConfigurationElementyycfm">AcceptableByConfigurationElement()</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Macros.html#/s:13SwiftLintCore16AutoConfigParseryycfm">AutoConfigParser()</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Macros.html#/s:13SwiftLintCore0A10SyntaxRule15foldExpressions16explicitRewriter11correctable5optInySb_S3btcfm">SwiftSyntaxRule(foldExpressions:explicitRewriter:correctable:optIn:)</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1>RuleDescription</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">RuleDescription</span> <span class="p">:</span> <span class="kt">Equatable</span><span class="p">,</span> <span class="kt">Sendable</span></code></pre>
</div>
</div>
<p>A detailed description for a SwiftLint rule. Used for both documentation and testing purposes.</p>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L2-L119">Show on GitHub</a>
</div>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV10identifierSSvp"></a>
<a name="//apple_ref/swift/Property/identifier" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV10identifierSSvp">identifier</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The rule&rsquo;s unique identifier, to be used in configuration files and SwiftLint commands.
Should be short and only comprised of lowercase latin alphabet letters and underscores formatted in snake case.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L5">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV4nameSSvp"></a>
<a name="//apple_ref/swift/Property/name" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV4nameSSvp">name</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The rule&rsquo;s human-readable name. Should be short, descriptive and formatted in Title Case. May contain spaces.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L8">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV11descriptionSSvp"></a>
<a name="//apple_ref/swift/Property/description" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV11descriptionSSvp">description</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The rule&rsquo;s verbose description. Should read as a sentence or short paragraph. Good things to include are an
explanation of the rule&rsquo;s purpose and rationale.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L12">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV9rationaleSSSgvp"></a>
<a name="//apple_ref/swift/Property/rationale" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV9rationaleSSSgvp">rationale</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A longer explanation of the rule&rsquo;s purpose and rationale. Typically defined as a multiline string, long text
lines should be wrapped. Markdown formatting is supported. Multiline code blocks will be formatted as
<code>swift</code> code unless otherwise specified, and will automatically be indented by four spaces when printed
to the console.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">rationale</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L18">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV4kindAA0D4KindOvp"></a>
<a name="//apple_ref/swift/Property/kind" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV4kindAA0D4KindOvp">kind</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code><a href="../Enums/RuleKind.html">RuleKind</a></code> that best categorizes this rule.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">kind</span><span class="p">:</span> <span class="kt"><a href="../Enums/RuleKind.html">RuleKind</a></span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L21">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV21nonTriggeringExamplesSayAA7ExampleVGvp"></a>
<a name="//apple_ref/swift/Property/nonTriggeringExamples" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV21nonTriggeringExamplesSayAA7ExampleVGvp">nonTriggeringExamples</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Swift source examples that do not trigger a violation for this rule. Used for documentation purposes to inform
users of various samples of code that are considered valid by this rule. Should be valid Swift syntax but is not
required to compile.</p>
<p>These examples are also used for automatic testing purposes. Tests will validate that the rule does not trigger
any violations for these examples.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">nonTriggeringExamples</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Structs/Example.html">Example</a></span><span class="p">]</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L29">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV18triggeringExamplesSayAA7ExampleVGvp"></a>
<a name="//apple_ref/swift/Property/triggeringExamples" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV18triggeringExamplesSayAA7ExampleVGvp">triggeringExamples</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Swift source examples that do trigger one or more violations for this rule. Used for documentation purposes to
inform users of various samples of code that are considered invalid by this rule. Should be valid Swift syntax
but is not required to compile.</p>
<p>Violations should occur where <code></code> markers are located.</p>
<p>These examples are also used for automatic testing purposes. Tests will validate that the rule triggers
violations for these examples wherever <code></code> markers are located.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">triggeringExamples</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Structs/Example.html">Example</a></span><span class="p">]</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L39">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV11correctionsSDyAA7ExampleVAFGvp"></a>
<a name="//apple_ref/swift/Property/corrections" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV11correctionsSDyAA7ExampleVAFGvp">corrections</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Pairs of Swift source examples, where keys are examples that trigger violations for this rule, and the values
are the expected value after applying corrections with the rule.</p>
<p>Rules that aren&rsquo;t correctable (conforming to the <code><a href="../Protocols/CorrectableRule.html">CorrectableRule</a></code> protocol) should leave property empty.</p>
<p>These examples are used for testing purposes if the rule conforms to <code>AutomaticTestableRule</code>. Tests will
validate that the rule corrects all keys to their corresponding values.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">corrections</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Structs/Example.html">Example</a></span> <span class="p">:</span> <span class="kt"><a href="../Structs/Example.html">Example</a></span><span class="p">]</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L48">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV17deprecatedAliasesShySSGvp"></a>
<a name="//apple_ref/swift/Property/deprecatedAliases" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV17deprecatedAliasesShySSGvp">deprecatedAliases</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Any previous iteration of the rule&rsquo;s identifier that was previously shipped with SwiftLint.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">deprecatedAliases</span><span class="p">:</span> <span class="kt">Set</span><span class="o">&lt;</span><span class="kt">String</span><span class="o">&gt;</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L51">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV03minA7VersionAA0aG0Vvp"></a>
<a name="//apple_ref/swift/Property/minSwiftVersion" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV03minA7VersionAA0aG0Vvp">minSwiftVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The oldest version of the Swift compiler supported by this rule.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">minSwiftVersion</span><span class="p">:</span> <span class="kt"><a href="../Structs/SwiftVersion.html">SwiftVersion</a></span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L54">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV18requiresFileOnDiskSbvp"></a>
<a name="//apple_ref/swift/Property/requiresFileOnDisk" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV18requiresFileOnDiskSbvp">requiresFileOnDisk</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Whether or not this rule can only be executed on a file physically on-disk. Typically necessary for rules
conforming to <code><a href="../Protocols/AnalyzerRule.html">AnalyzerRule</a></code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">requiresFileOnDisk</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L58">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV07consoleE0SSvp"></a>
<a name="//apple_ref/swift/Property/consoleDescription" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV07consoleE0SSvp">consoleDescription</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The console-printable string for this description.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">consoleDescription</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L61">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV16consoleRationaleSSSgvp"></a>
<a name="//apple_ref/swift/Property/consoleRationale" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV16consoleRationaleSSSgvp">consoleRationale</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The console-printable rationale for this description.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">consoleRationale</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L64-L66">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV18formattedRationaleSSSgvp"></a>
<a name="//apple_ref/swift/Property/formattedRationale" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV18formattedRationaleSSSgvp">formattedRationale</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The rationale for this description, with Markdown formatting.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">formattedRationale</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L69-L71">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV14allIdentifiersSaySSGvp"></a>
<a name="//apple_ref/swift/Property/allIdentifiers" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV14allIdentifiersSaySSGvp">allIdentifiers</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>All identifiers that have been used to uniquely identify this rule in past and current SwiftLint versions.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">allIdentifiers</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L74-L76">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore15RuleDescriptionV10identifier4name11description9rationale4kind03minA7Version21nonTriggeringExamples010triggeringO011corrections17deprecatedAliases18requiresFileOnDiskACSS_S3SSgAA0D4KindOAA0aL0VSayAA7ExampleVGAVSDyA2UGShySSGSbtcfc"></a>
<a name="//apple_ref/swift/Method/init(identifier:name:description:rationale:kind:minSwiftVersion:nonTriggeringExamples:triggeringExamples:corrections:deprecatedAliases:requiresFileOnDisk:)" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore15RuleDescriptionV10identifier4name11description9rationale4kind03minA7Version21nonTriggeringExamples010triggeringO011corrections17deprecatedAliases18requiresFileOnDiskACSS_S3SSgAA0D4KindOAA0aL0VSayAA7ExampleVGAVSDyA2UGShySSGSbtcfc">init(identifier:<wbr>name:<wbr>description:<wbr>rationale:<wbr>kind:<wbr>minSwiftVersion:<wbr>nonTriggeringExamples:<wbr>triggeringExamples:<wbr>corrections:<wbr>deprecatedAliases:<wbr>requiresFileOnDisk:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Creates a <code>RuleDescription</code> by specifying all its properties directly.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
<span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
<span class="nv">description</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
<span class="nv">rationale</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
<span class="nv">kind</span><span class="p">:</span> <span class="kt"><a href="../Enums/RuleKind.html">RuleKind</a></span><span class="p">,</span>
<span class="nv">minSwiftVersion</span><span class="p">:</span> <span class="kt"><a href="../Structs/SwiftVersion.html">SwiftVersion</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">five</span><span class="p">,</span>
<span class="nv">nonTriggeringExamples</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Structs/Example.html">Example</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[],</span>
<span class="nv">triggeringExamples</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Structs/Example.html">Example</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[],</span>
<span class="nv">corrections</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Structs/Example.html">Example</a></span><span class="p">:</span> <span class="kt"><a href="../Structs/Example.html">Example</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[:],</span>
<span class="nv">deprecatedAliases</span><span class="p">:</span> <span class="kt">Set</span><span class="o">&lt;</span><span class="kt">String</span><span class="o">&gt;</span> <span class="o">=</span> <span class="p">[],</span>
<span class="nv">requiresFileOnDisk</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">false</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>identifier</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV10identifierSSvp">identifier</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>name</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV4nameSSvp">name</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>description</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV11descriptionSSvp">description</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>kind</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV4kindAA0D4KindOvp">kind</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>minSwiftVersion</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV03minA7VersionAA0aG0Vvp">minSwiftVersion</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>nonTriggeringExamples</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV21nonTriggeringExamplesSayAA7ExampleVGvp">nonTriggeringExamples</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>triggeringExamples</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV18triggeringExamplesSayAA7ExampleVGvp">triggeringExamples</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>corrections</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV11correctionsSDyAA7ExampleVAFGvp">corrections</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>deprecatedAliases</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV17deprecatedAliasesShySSGvp">deprecatedAliases</a></code> property.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>requiresFileOnDisk</em>
</code>
</td>
<td>
<div>
<p>Sets the description&rsquo;s <code><a href="../Structs/RuleDescription.html#/s:13SwiftLintCore15RuleDescriptionV18requiresFileOnDiskSbvp">requiresFileOnDisk</a></code> property.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L90-L112">Show on GitHub</a>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Equatable"></a>
<a name="//apple_ref/swift/Section/Equatable" class="dashAnchor"></a>
<div class="section-name-container">
<a class="section-name-link" href="#/Equatable"></a>
<h3 class="section-name"><span>Equatable</span>
</h3>
</div>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:SQ2eeoiySbx_xtFZ"></a>
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
<a class="token" href="#/s:SQ2eeoiySbx_xtFZ">==(_:<wbr>_:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">==</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="p">`</span><span class="nv">Self</span><span class="p">`,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="p">`</span><span class="nv">Self</span><span class="p">`)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Models/RuleDescription.swift#L116-L118">Show on GitHub</a>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>© 2023 <a class="link" href="https://jpsim.com" target="_blank" rel="external noopener">JP Simard</a> under MIT.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</body>
</html>