[FIR] Report separate error for delegated constructor call to interface

#KT-59216 Fixed
This commit is contained in:
Kirill Rakhman
2023-06-23 13:50:34 +02:00
committed by Space Team
parent 5abab2197b
commit e7c213e06e
19 changed files with 78 additions and 21 deletions
@@ -558,6 +558,23 @@ object LightTreePositioningStrategies {
}
}
val VALUE_ARGUMENTS_LIST: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
override fun mark(
node: LighterASTNode,
startOffset: Int,
endOffset: Int,
tree: FlyweightCapableTreeStructure<LighterASTNode>,
): List<TextRange> {
return markElement(
tree.findChildByType(node, KtNodeTypes.VALUE_ARGUMENT_LIST) ?: node,
startOffset,
endOffset,
tree,
node
)
}
}
val VALUE_ARGUMENTS: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
override fun mark(
node: LighterASTNode,
@@ -707,6 +707,13 @@ object PositioningStrategies {
}
}
@JvmField
val VALUE_ARGUMENTS_LIST: PositioningStrategy<KtElement> = object : PositioningStrategy<KtElement>() {
override fun mark(element: KtElement): List<TextRange> {
return markElement(element.getChildOfType<KtValueArgumentList>() ?: element)
}
}
@JvmField
val FUNCTION_PARAMETERS: PositioningStrategy<KtFunction> = object : PositioningStrategy<KtFunction>() {
override fun mark(element: KtFunction): List<TextRange> {
@@ -163,6 +163,11 @@ object SourceElementPositioningStrategies {
PositioningStrategies.VALUE_ARGUMENTS
)
val VALUE_ARGUMENTS_LIST = SourceElementPositioningStrategy(
LightTreePositioningStrategies.VALUE_ARGUMENTS_LIST,
PositioningStrategies.VALUE_ARGUMENTS_LIST
)
val SUPERTYPES_LIST = SourceElementPositioningStrategy(
LightTreePositioningStrategies.SUPERTYPES_LIST,
PositioningStrategies.SUPERTYPES_LIST