Files
kotlin/compiler/testData/codegen/box/elvis/kt6694ExactAnnotationForElvis.kt
Svetlana Isakova 9877fe1a26 Fixed the call completer
to update the type of the argument expression correctly
2015-10-22 21:55:13 +03:00

20 lines
726 B
Kotlin
Vendored

interface PsiElement {
fun <T: PsiElement> findChildByType(i: Int): T? =
if (i == 42) JetOperationReferenceExpression() as T else throw Exception()
}
interface JetSimpleNameExpression : PsiElement {
fun getReferencedNameElement(): PsiElement
}
class JetOperationReferenceExpression : JetSimpleNameExpression {
override fun getReferencedNameElement() = this
}
class JetLabelReferenceExpression : JetSimpleNameExpression {
public override fun getReferencedNameElement(): PsiElement =
findChildByType(42) ?: this
}
fun box(): String {
val element = JetLabelReferenceExpression().getReferencedNameElement()
return if (element is JetOperationReferenceExpression) "OK" else "fail"
}