Skip to content

Commit c3ed2d7

Browse files
Promote experimental rules to non-experimental (#2674)
* Promote experimental rules to non-experimental * `backing-property-naming` (rule was defined as non-experimental starting from introduction but was documented as experimental) * `binary-expression-wrapping` * `chain-method-continuation` * `class-signature` * `condition-wrapping` * `function-expression-body` * `function-literal` * `function-type-modifier-spacing` * `multiline-loop` Closes #2673
1 parent 32fd86f commit c3ed2d7

File tree

12 files changed

+601
-619
lines changed

12 files changed

+601
-619
lines changed

documentation/snapshot/docs/rules/experimental.md

Lines changed: 9 additions & 572 deletions
Large diffs are not rendered by default.

documentation/snapshot/docs/rules/standard.md

Lines changed: 561 additions & 0 deletions
Large diffs are not rendered by default.

ktlint-ruleset-standard/api/ktlint-ruleset-standard.api

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public final class com/pinterest/ktlint/ruleset/standard/rules/BackingPropertyNa
5555
public static final fun getBACKING_PROPERTY_NAMING_RULE_ID ()Lcom/pinterest/ktlint/rule/engine/core/api/RuleId;
5656
}
5757

58-
public final class com/pinterest/ktlint/ruleset/standard/rules/BinaryExpressionWrappingRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$Experimental {
58+
public final class com/pinterest/ktlint/ruleset/standard/rules/BinaryExpressionWrappingRule : com/pinterest/ktlint/ruleset/standard/StandardRule {
5959
public fun <init> ()V
6060
public fun beforeFirstNode (Lcom/pinterest/ktlint/rule/engine/core/api/editorconfig/EditorConfig;)V
6161
public fun beforeVisitChildNodes (Lorg/jetbrains/kotlin/com/intellij/lang/ASTNode;Lkotlin/jvm/functions/Function3;)V
@@ -98,7 +98,7 @@ public final class com/pinterest/ktlint/ruleset/standard/rules/BlockCommentIniti
9898
public static final fun getBLOCK_COMMENT_INITIAL_STAR_ALIGNMENT_RULE_ID ()Lcom/pinterest/ktlint/rule/engine/core/api/RuleId;
9999
}
100100

101-
public final class com/pinterest/ktlint/ruleset/standard/rules/ChainMethodContinuationRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$Experimental, com/pinterest/ktlint/rule/engine/core/api/Rule$OfficialCodeStyle {
101+
public final class com/pinterest/ktlint/ruleset/standard/rules/ChainMethodContinuationRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$OfficialCodeStyle {
102102
public static final field Companion Lcom/pinterest/ktlint/ruleset/standard/rules/ChainMethodContinuationRule$Companion;
103103
public fun <init> ()V
104104
public fun beforeFirstNode (Lcom/pinterest/ktlint/rule/engine/core/api/editorconfig/EditorConfig;)V
@@ -132,7 +132,7 @@ public final class com/pinterest/ktlint/ruleset/standard/rules/ClassNamingRuleKt
132132
public static final fun getCLASS_NAMING_RULE_ID ()Lcom/pinterest/ktlint/rule/engine/core/api/RuleId;
133133
}
134134

135-
public final class com/pinterest/ktlint/ruleset/standard/rules/ClassSignatureRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$Experimental {
135+
public final class com/pinterest/ktlint/ruleset/standard/rules/ClassSignatureRule : com/pinterest/ktlint/ruleset/standard/StandardRule {
136136
public static final field Companion Lcom/pinterest/ktlint/ruleset/standard/rules/ClassSignatureRule$Companion;
137137
public fun <init> ()V
138138
public fun beforeFirstNode (Lcom/pinterest/ktlint/rule/engine/core/api/editorconfig/EditorConfig;)V
@@ -165,7 +165,7 @@ public final class com/pinterest/ktlint/ruleset/standard/rules/CommentWrappingRu
165165
public static final fun getCOMMENT_WRAPPING_RULE_ID ()Lcom/pinterest/ktlint/rule/engine/core/api/RuleId;
166166
}
167167

168-
public final class com/pinterest/ktlint/ruleset/standard/rules/ConditionWrappingRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$Experimental {
168+
public final class com/pinterest/ktlint/ruleset/standard/rules/ConditionWrappingRule : com/pinterest/ktlint/ruleset/standard/StandardRule {
169169
public fun <init> ()V
170170
public fun beforeFirstNode (Lcom/pinterest/ktlint/rule/engine/core/api/editorconfig/EditorConfig;)V
171171
public fun beforeVisitChildNodes (Lorg/jetbrains/kotlin/com/intellij/lang/ASTNode;Lkotlin/jvm/functions/Function3;)V
@@ -241,7 +241,7 @@ public final class com/pinterest/ktlint/ruleset/standard/rules/FunKeywordSpacing
241241
public static final fun getFUN_KEYWORD_SPACING_RULE ()Lcom/pinterest/ktlint/rule/engine/core/api/RuleId;
242242
}
243243

244-
public final class com/pinterest/ktlint/ruleset/standard/rules/FunctionExpressionBodyRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$Experimental {
244+
public final class com/pinterest/ktlint/ruleset/standard/rules/FunctionExpressionBodyRule : com/pinterest/ktlint/ruleset/standard/StandardRule {
245245
public fun <init> ()V
246246
public fun beforeFirstNode (Lcom/pinterest/ktlint/rule/engine/core/api/editorconfig/EditorConfig;)V
247247
public fun beforeVisitChildNodes (Lorg/jetbrains/kotlin/com/intellij/lang/ASTNode;Lkotlin/jvm/functions/Function3;)V
@@ -251,7 +251,7 @@ public final class com/pinterest/ktlint/ruleset/standard/rules/FunctionExpressio
251251
public static final fun getFUNCTION_EXPRESSION_BODY_RULE_ID ()Lcom/pinterest/ktlint/rule/engine/core/api/RuleId;
252252
}
253253

254-
public final class com/pinterest/ktlint/ruleset/standard/rules/FunctionLiteralRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$Experimental {
254+
public final class com/pinterest/ktlint/ruleset/standard/rules/FunctionLiteralRule : com/pinterest/ktlint/ruleset/standard/StandardRule {
255255
public fun <init> ()V
256256
public fun beforeFirstNode (Lcom/pinterest/ktlint/rule/engine/core/api/editorconfig/EditorConfig;)V
257257
public fun beforeVisitChildNodes (Lorg/jetbrains/kotlin/com/intellij/lang/ASTNode;Lkotlin/jvm/functions/Function3;)V
@@ -320,7 +320,7 @@ public final class com/pinterest/ktlint/ruleset/standard/rules/FunctionStartOfBo
320320
public static final fun getFUNCTION_START_OF_BODY_SPACING_RULE_ID ()Lcom/pinterest/ktlint/rule/engine/core/api/RuleId;
321321
}
322322

323-
public final class com/pinterest/ktlint/ruleset/standard/rules/FunctionTypeModifierSpacingRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$Experimental {
323+
public final class com/pinterest/ktlint/ruleset/standard/rules/FunctionTypeModifierSpacingRule : com/pinterest/ktlint/ruleset/standard/StandardRule {
324324
public fun <init> ()V
325325
public fun beforeVisitChildNodes (Lorg/jetbrains/kotlin/com/intellij/lang/ASTNode;Lkotlin/jvm/functions/Function3;)V
326326
}
@@ -467,7 +467,7 @@ public final class com/pinterest/ktlint/ruleset/standard/rules/MultilineExpressi
467467
public static final fun getMULTILINE_EXPRESSION_WRAPPING_RULE_ID ()Lcom/pinterest/ktlint/rule/engine/core/api/RuleId;
468468
}
469469

470-
public final class com/pinterest/ktlint/ruleset/standard/rules/MultilineLoopRule : com/pinterest/ktlint/ruleset/standard/StandardRule, com/pinterest/ktlint/rule/engine/core/api/Rule$Experimental {
470+
public final class com/pinterest/ktlint/ruleset/standard/rules/MultilineLoopRule : com/pinterest/ktlint/ruleset/standard/StandardRule {
471471
public fun <init> ()V
472472
public fun beforeFirstNode (Lcom/pinterest/ktlint/rule/engine/core/api/editorconfig/EditorConfig;)V
473473
public fun beforeVisitChildNodes (Lorg/jetbrains/kotlin/com/intellij/lang/ASTNode;Lkotlin/jvm/functions/Function3;)V

ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/rules/BackingPropertyNamingRule.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import com.pinterest.ktlint.rule.engine.core.api.ElementType.VALUE_PARAMETER
1111
import com.pinterest.ktlint.rule.engine.core.api.ElementType.VALUE_PARAMETER_LIST
1212
import com.pinterest.ktlint.rule.engine.core.api.RuleId
1313
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint
14-
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.EXPERIMENTAL
14+
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.STABLE
1515
import com.pinterest.ktlint.rule.engine.core.api.children
1616
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.CODE_STYLE_PROPERTY
1717
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.CodeStyleValue.android_studio
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.com.intellij.lang.ASTNode
2525
* https://kotlinlang.org/docs/coding-conventions.html#property-names
2626
* https://developer.android.com/kotlin/style-guide#backing_properties
2727
*/
28-
@SinceKtlint("1.2.0", EXPERIMENTAL)
28+
@SinceKtlint("1.2.0", STABLE)
2929
public class BackingPropertyNamingRule :
3030
StandardRule(
3131
id = "backing-property-naming",

ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/rules/BinaryExpressionWrappingRule.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@ import com.pinterest.ktlint.rule.engine.core.api.ElementType.PROPERTY
1717
import com.pinterest.ktlint.rule.engine.core.api.ElementType.RBRACE
1818
import com.pinterest.ktlint.rule.engine.core.api.ElementType.VALUE_ARGUMENT
1919
import com.pinterest.ktlint.rule.engine.core.api.IndentConfig
20-
import com.pinterest.ktlint.rule.engine.core.api.Rule
2120
import com.pinterest.ktlint.rule.engine.core.api.RuleId
2221
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint
23-
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.EXPERIMENTAL
22+
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.STABLE
2423
import com.pinterest.ktlint.rule.engine.core.api.children
2524
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.EditorConfig
2625
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.INDENT_SIZE_PROPERTY
@@ -51,7 +50,7 @@ import org.jetbrains.kotlin.com.intellij.psi.tree.IElementType
5150
* Wraps a binary expression whenever the expression does not fit on the line. Wrapping a binary expression should take precedence before
5251
* argument of function calls inside that binary expression are wrapped.
5352
*/
54-
@SinceKtlint("0.50", EXPERIMENTAL)
53+
@SinceKtlint("0.50", STABLE)
5554
public class BinaryExpressionWrappingRule :
5655
StandardRule(
5756
id = "binary-expression-wrapping",
@@ -61,8 +60,7 @@ public class BinaryExpressionWrappingRule :
6160
INDENT_STYLE_PROPERTY,
6261
MAX_LINE_LENGTH_PROPERTY,
6362
),
64-
),
65-
Rule.Experimental {
63+
) {
6664
private var indentConfig = IndentConfig.DEFAULT_INDENT_CONFIG
6765
private var maxLineLength = MAX_LINE_LENGTH_PROPERTY.defaultValue
6866

ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/rules/ChainMethodContinuationRule.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import com.pinterest.ktlint.rule.engine.core.api.Rule.VisitorModifier.RunAfterRu
3030
import com.pinterest.ktlint.rule.engine.core.api.Rule.VisitorModifier.RunAfterRule.Mode.REGARDLESS_WHETHER_RUN_AFTER_RULE_IS_LOADED_OR_DISABLED
3131
import com.pinterest.ktlint.rule.engine.core.api.RuleId
3232
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint
33-
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.EXPERIMENTAL
33+
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.STABLE
3434
import com.pinterest.ktlint.rule.engine.core.api.children
3535
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.CODE_STYLE_PROPERTY
3636
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.EditorConfig
@@ -69,7 +69,7 @@ import org.jetbrains.kotlin.com.intellij.psi.tree.TokenSet
6969
*
7070
* As of that the rule is restricted to ktlint_official code style unless explicitly enabled.
7171
*/
72-
@SinceKtlint("1.0", EXPERIMENTAL)
72+
@SinceKtlint("1.0", STABLE)
7373
public class ChainMethodContinuationRule :
7474
StandardRule(
7575
id = "chain-method-continuation",
@@ -83,7 +83,6 @@ public class ChainMethodContinuationRule :
8383
MAX_LINE_LENGTH_PROPERTY,
8484
),
8585
),
86-
Rule.Experimental,
8786
Rule.OfficialCodeStyle {
8887
private var indentConfig = IndentConfig.DEFAULT_INDENT_CONFIG
8988
private var maxLineLength: Int = MAX_LINE_LENGTH_PROPERTY.defaultValue

ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/rules/ClassSignatureRule.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@ import com.pinterest.ktlint.rule.engine.core.api.ElementType.VALUE_PARAMETER_LIS
2020
import com.pinterest.ktlint.rule.engine.core.api.ElementType.WHITE_SPACE
2121
import com.pinterest.ktlint.rule.engine.core.api.IndentConfig
2222
import com.pinterest.ktlint.rule.engine.core.api.IndentConfig.Companion.DEFAULT_INDENT_CONFIG
23-
import com.pinterest.ktlint.rule.engine.core.api.Rule
2423
import com.pinterest.ktlint.rule.engine.core.api.Rule.VisitorModifier.RunAfterRule
2524
import com.pinterest.ktlint.rule.engine.core.api.Rule.VisitorModifier.RunAfterRule.Mode.REGARDLESS_WHETHER_RUN_AFTER_RULE_IS_LOADED_OR_DISABLED
2625
import com.pinterest.ktlint.rule.engine.core.api.Rule.VisitorModifier.RunAsLateAsPossible
2726
import com.pinterest.ktlint.rule.engine.core.api.RuleId
2827
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint
29-
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.EXPERIMENTAL
28+
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.STABLE
3029
import com.pinterest.ktlint.rule.engine.core.api.children
3130
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.CODE_STYLE_PROPERTY
3231
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.CodeStyleValue.ktlint_official
@@ -61,7 +60,7 @@ import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.LeafElement
6160
* In code style `ktlint_official` class headers containing 2 or more parameters are formatted as multiline signature. As the Kotlin Coding
6261
* conventions do not specify what is meant with a "few parameters", no default is set for other code styles.
6362
*/
64-
@SinceKtlint("1.0", EXPERIMENTAL)
63+
@SinceKtlint("1.0", STABLE)
6564
public class ClassSignatureRule :
6665
StandardRule(
6766
id = "class-signature",
@@ -85,8 +84,7 @@ public class ClassSignatureRule :
8584
MAX_LINE_LENGTH_PROPERTY,
8685
FORCE_MULTILINE_WHEN_PARAMETER_COUNT_GREATER_OR_EQUAL_THAN_PROPERTY,
8786
),
88-
),
89-
Rule.Experimental {
87+
) {
9088
private var codeStyle = CODE_STYLE_PROPERTY.defaultValue
9189
private var indentConfig = DEFAULT_INDENT_CONFIG
9290
private var maxLineLength = MAX_LINE_LENGTH_PROPERTY.defaultValue

ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/rules/ConditionWrappingRule.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import com.pinterest.ktlint.rule.engine.core.api.ElementType.BINARY_EXPRESSION
66
import com.pinterest.ktlint.rule.engine.core.api.ElementType.OPERATION_REFERENCE
77
import com.pinterest.ktlint.rule.engine.core.api.ElementType.OROR
88
import com.pinterest.ktlint.rule.engine.core.api.IndentConfig
9-
import com.pinterest.ktlint.rule.engine.core.api.Rule
109
import com.pinterest.ktlint.rule.engine.core.api.RuleId
1110
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint
1211
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.EXPERIMENTAL
@@ -40,8 +39,7 @@ public class ConditionWrappingRule :
4039
INDENT_SIZE_PROPERTY,
4140
INDENT_STYLE_PROPERTY,
4241
),
43-
),
44-
Rule.Experimental {
42+
) {
4543
private var indentConfig = IndentConfig.DEFAULT_INDENT_CONFIG
4644

4745
override fun beforeFirstNode(editorConfig: EditorConfig) {

ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/rules/FunctionExpressionBodyRule.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ import com.pinterest.ktlint.rule.engine.core.api.ElementType.RETURN_KEYWORD
1212
import com.pinterest.ktlint.rule.engine.core.api.ElementType.THROW
1313
import com.pinterest.ktlint.rule.engine.core.api.ElementType.TYPE_REFERENCE
1414
import com.pinterest.ktlint.rule.engine.core.api.IndentConfig
15-
import com.pinterest.ktlint.rule.engine.core.api.Rule
1615
import com.pinterest.ktlint.rule.engine.core.api.RuleId
1716
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint
18-
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.EXPERIMENTAL
17+
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.STABLE
1918
import com.pinterest.ktlint.rule.engine.core.api.children
2019
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.CODE_STYLE_PROPERTY
2120
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.EditorConfig
@@ -66,7 +65,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getChildOfType
6665
* }
6766
* ```
6867
*/
69-
@SinceKtlint("1.0", EXPERIMENTAL)
68+
@SinceKtlint("1.0", STABLE)
7069
public class FunctionExpressionBodyRule :
7170
StandardRule(
7271
id = "function-expression-body",
@@ -77,8 +76,7 @@ public class FunctionExpressionBodyRule :
7776
INDENT_STYLE_PROPERTY,
7877
MAX_LINE_LENGTH_PROPERTY,
7978
),
80-
),
81-
Rule.Experimental {
79+
) {
8280
private var codeStyle = CODE_STYLE_PROPERTY.defaultValue
8381
private var indentConfig = IndentConfig.DEFAULT_INDENT_CONFIG
8482

ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/rules/FunctionLiteralRule.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@ import com.pinterest.ktlint.rule.engine.core.api.ElementType.RBRACE
1212
import com.pinterest.ktlint.rule.engine.core.api.ElementType.VALUE_PARAMETER
1313
import com.pinterest.ktlint.rule.engine.core.api.ElementType.VALUE_PARAMETER_LIST
1414
import com.pinterest.ktlint.rule.engine.core.api.IndentConfig
15-
import com.pinterest.ktlint.rule.engine.core.api.Rule
1615
import com.pinterest.ktlint.rule.engine.core.api.Rule.VisitorModifier.RunAfterRule.Mode.REGARDLESS_WHETHER_RUN_AFTER_RULE_IS_LOADED_OR_DISABLED
1716
import com.pinterest.ktlint.rule.engine.core.api.RuleId
1817
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint
19-
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.EXPERIMENTAL
18+
import com.pinterest.ktlint.rule.engine.core.api.SinceKtlint.Status.STABLE
2019
import com.pinterest.ktlint.rule.engine.core.api.children
2120
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.CODE_STYLE_PROPERTY
2221
import com.pinterest.ktlint.rule.engine.core.api.editorconfig.EditorConfig
@@ -71,7 +70,7 @@ private val LOGGER = KotlinLogging.logger {}.initKtLintKLogger()
7170
* }
7271
* ```
7372
*/
74-
@SinceKtlint("1.0", EXPERIMENTAL)
73+
@SinceKtlint("1.0", STABLE)
7574
public class FunctionLiteralRule :
7675
StandardRule(
7776
id = "function-literal",
@@ -86,8 +85,7 @@ public class FunctionLiteralRule :
8685
INDENT_STYLE_PROPERTY,
8786
MAX_LINE_LENGTH_PROPERTY,
8887
),
89-
),
90-
Rule.Experimental {
88+
) {
9189
private var codeStyle = CODE_STYLE_PROPERTY.defaultValue
9290
private var indentConfig = IndentConfig.DEFAULT_INDENT_CONFIG
9391
private var maxLineLength = MAX_LINE_LENGTH_PROPERTY.defaultValue

0 commit comments

Comments
 (0)