Each column beginning with a & should be read as a rule conforming to the previous column's protocol and this column's.
| Rule | AnalyzerRule | CorrectableRule | &AnalyzerRule | CollectingRule | &AnalyzerRule | CollectingCorrectableRule | &AnalyzerRule | |
|---|---|---|---|---|---|---|---|---|
| collectInfo(for:) | implement | fatal error | implement | fatal error | ||||
| collectInfo(for:compilerArguments:) | extension | implement | extension | implement | ||||
| collectInfo(for:into:compilerArguments:) | extension | extension | extension | extension | extension | extension | extension | extension |
| correct(file:) | implement | fatal error | fatal error | fatal error | ||||
| correct(file:collectedInfo:) | implement | fatal error | ||||||
| correct(file:collectedInfo:compilerArguments:) | extension | implement | ||||||
| correct(file:compilerArguments:) | extension | implement | fatal error | fatal error | ||||
| correct(file:using:compilerArguments:) | extension | extension | extension | extension | ||||
| validate(file:) | implement | fatal error | fatal error | fatal error | fatal error | fatal error | fatal error | |
| validate(file:collectedInfo:) | implement | fatal error | implement | fatal error | ||||
| validate(file:collectedInfo:compilerArguments:) | extension | implement | extension | implement | ||||
| validate(file:compilerArguments:) | extension | implement | implement | fatal error | fatal error | fatal error | fatal error | |
| validate(file:using:compilerArguments:) | extension | extension | extension | extension | extension | extension | extension | extension |