FIR: introduce delegate diagnostics

This commit adds diagnostics for the following

* DELEGATE_SPECIAL_FUNCTION_MISSING
* DELEGATE_SPECIAL_FUNCTION_AMBIGUITY
* DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE
This commit is contained in:
Tianyu Geng
2021-04-07 03:51:49 +03:00
committed by Mikhail Glukhikh
parent 454ae3b17a
commit b5caa658d6
56 changed files with 299 additions and 258 deletions
@@ -17,7 +17,7 @@ fun case1() {
}
class B() {
val p: String by <!TOO_MANY_ARGUMENTS!>Delegate()<!> // DELEGATE_SPECIAL_FUNCTION_MISSING expected
val p: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>Delegate()<!> // DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE expected
}
class Delegate {
@@ -42,7 +42,7 @@ fun case2() {
}
class B() {
var p: String by <!TOO_MANY_ARGUMENTS!>Delegate()<!> // DELEGATE_SPECIAL_FUNCTION_MISSING expected
var p: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE, DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>Delegate()<!> // DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE expected
}
class Delegate {
@@ -26,7 +26,7 @@ fun case1() {
}
class B() {
val p: String by Delegate() // DELEGATE_SPECIAL_FUNCTION_MISSING expected
val p: String by Delegate() // DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE expected
}
class Delegate {
@@ -51,7 +51,7 @@ fun case2() {
}
class B() {
var p: String by <!DELEGATE_SPECIAL_FUNCTION_MISSING!>Delegate()<!> // DELEGATE_SPECIAL_FUNCTION_MISSING expected
var p: String by <!DELEGATE_SPECIAL_FUNCTION_MISSING!>Delegate()<!> // DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE expected
}
class Delegate {
@@ -72,7 +72,7 @@ fun case_10(x: Boolean?) = when (val <T> x where T: suspend () -> Unit, T: Boole
// TESTCASE NUMBER: 11
fun case_11() {
val <T> x by lazy { 1 }
var <T> x by lazy { 1 }
var <T> x by <!DELEGATE_SPECIAL_FUNCTION_MISSING!>lazy { 1 }<!>
}
// TESTCASE NUMBER: 12