FIR: simplify PositioningStrategy checkers generator
This commit is contained in:
+24
-79
@@ -23,90 +23,35 @@ data class DiagnosticParameter(
|
|||||||
val type: KType
|
val type: KType
|
||||||
)
|
)
|
||||||
|
|
||||||
enum class PositioningStrategy(val expressionToCreate: String, val import: String) {
|
enum class PositioningStrategy(private val strategy: String) {
|
||||||
DEFAULT(
|
DEFAULT("DEFAULT"),
|
||||||
"SourceElementPositioningStrategies.DEFAULT",
|
VAL_OR_VAR_NODE("VAL_OR_VAR_NODE"),
|
||||||
positioningStrategiesImport
|
SECONDARY_CONSTRUCTOR_DELEGATION_CALL("SECONDARY_CONSTRUCTOR_DELEGATION_CALL"),
|
||||||
),
|
DECLARATION_NAME("DECLARATION_NAME"),
|
||||||
|
DECLARATION_SIGNATURE("DECLARATION_SIGNATURE"),
|
||||||
|
DECLARATION_SIGNATURE_OR_DEFAULT("DECLARATION_SIGNATURE_OR_DEFAULT"),
|
||||||
|
VISIBILITY_MODIFIER("VISIBILITY_MODIFIER"),
|
||||||
|
MODALITY_MODIFIER("MODALITY_MODIFIER"),
|
||||||
|
OPERATOR("OPERATOR"),
|
||||||
|
PARAMETER_DEFAULT_VALUE("PARAMETER_DEFAULT_VALUE"),
|
||||||
|
PARAMETER_VARARG_MODIFIER("PARAMETER_VARARG_MODIFIER"),
|
||||||
|
DECLARATION_RETURN_TYPE("DECLARATION_RETURN_TYPE"),
|
||||||
|
OVERRIDE_MODIFIER("OVERRIDE_MODIFIER"),
|
||||||
|
DOT_BY_SELECTOR("DOT_BY_SELECTOR"),
|
||||||
|
OPEN_MODIFIER("OPEN_MODIFIER"),
|
||||||
|
WHEN_EXPRESSION("WHEN_EXPRESSION"),
|
||||||
|
IF_EXPRESSION("IF_EXPRESSION"),
|
||||||
|
VARIANCE_MODIFIER("VARIANCE_MODIFIER"),
|
||||||
|
|
||||||
VAL_OR_VAR_NODE(
|
;
|
||||||
"SourceElementPositioningStrategies.VAL_OR_VAR_NODE",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
SECONDARY_CONSTRUCTOR_DELEGATION_CALL(
|
val expressionToCreate get() = "SourceElementPositioningStrategies.$strategy"
|
||||||
"SourceElementPositioningStrategies.SECONDARY_CONSTRUCTOR_DELEGATION_CALL",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
DECLARATION_NAME(
|
companion object {
|
||||||
"SourceElementPositioningStrategies.DECLARATION_NAME",
|
const val importToAdd = "org.jetbrains.kotlin.fir.analysis.diagnostics.SourceElementPositioningStrategies"
|
||||||
positioningStrategiesImport
|
}
|
||||||
),
|
|
||||||
|
|
||||||
DECLARATION_SIGNATURE(
|
|
||||||
"SourceElementPositioningStrategies.DECLARATION_SIGNATURE",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
DECLARATION_SIGNATURE_OR_DEFAULT(
|
|
||||||
"SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
VISIBILITY_MODIFIER(
|
|
||||||
"SourceElementPositioningStrategies.VISIBILITY_MODIFIER",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
MODALITY_MODIFIER(
|
|
||||||
"SourceElementPositioningStrategies.MODALITY_MODIFIER",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
OPERATOR(
|
|
||||||
"SourceElementPositioningStrategies.OPERATOR",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
PARAMETER_DEFAULT_VALUE(
|
|
||||||
"SourceElementPositioningStrategies.PARAMETER_DEFAULT_VALUE",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
PARAMETER_VARARG_MODIFIER(
|
|
||||||
"SourceElementPositioningStrategies.PARAMETER_VARARG_MODIFIER",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
DECLARATION_RETURN_TYPE(
|
|
||||||
"SourceElementPositioningStrategies.DECLARATION_RETURN_TYPE",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
OVERRIDE_MODIFIER(
|
|
||||||
"SourceElementPositioningStrategies.OVERRIDE_MODIFIER",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
DOT_BY_SELECTOR(
|
|
||||||
"SourceElementPositioningStrategies.DOT_BY_SELECTOR",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
OPEN_MODIFIER(
|
|
||||||
"SourceElementPositioningStrategies.OPEN_MODIFIER",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
|
|
||||||
VARIANCE_MODIFIER(
|
|
||||||
"SourceElementPositioningStrategies.VARIANCE_MODIFIER",
|
|
||||||
positioningStrategiesImport
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private const val positioningStrategiesImport = "org.jetbrains.kotlin.fir.analysis.diagnostics.SourceElementPositioningStrategies"
|
|
||||||
|
|
||||||
|
|
||||||
fun DiagnosticData.hasDefaultPositioningStrategy(): Boolean =
|
fun DiagnosticData.hasDefaultPositioningStrategy(): Boolean =
|
||||||
positioningStrategy == PositioningStrategy.DEFAULT
|
positioningStrategy == PositioningStrategy.DEFAULT
|
||||||
|
|||||||
+1
-1
@@ -115,7 +115,7 @@ object ErrorListDiagnosticListRenderer : DiagnosticListRenderer() {
|
|||||||
typeArgument.collectClassNamesTo(this)
|
typeArgument.collectClassNamesTo(this)
|
||||||
}
|
}
|
||||||
if (!diagnostic.hasDefaultPositioningStrategy()) {
|
if (!diagnostic.hasDefaultPositioningStrategy()) {
|
||||||
add(diagnostic.positioningStrategy.import)
|
add(PositioningStrategy.importToAdd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user