FIR: Adjust testData for spec tests: expressions
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-213
|
||||
* PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 4 -> sentence 1
|
||||
* RELEVANT PLACES: statements, assignments -> paragraph 3 -> sentence 2
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: check unsafe prefix decrement expression call for an assignable expression
|
||||
*/
|
||||
class A() {
|
||||
var i = 0
|
||||
|
||||
operator fun dec(): A {
|
||||
this.i--
|
||||
return this
|
||||
}
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
|
||||
fun case1() {
|
||||
var b: Case1? = Case1()
|
||||
<!AMBIGUITY!>--<!>b?.a
|
||||
}
|
||||
|
||||
|
||||
class Case1() {
|
||||
var a: A = A()
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
|
||||
fun case2() {
|
||||
var b= Case2()
|
||||
--b.a
|
||||
}
|
||||
|
||||
class Case2() {
|
||||
val a = A()
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-213
|
||||
* PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 5 -> sentence 2
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: check as the result of dec is assigned to A, the return type of inc must be a subtype of A.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
|
||||
fun case1() {
|
||||
var a = Case1()
|
||||
val res: Any? = ++a
|
||||
}
|
||||
|
||||
|
||||
class Case1() {
|
||||
|
||||
operator fun inc(): B {
|
||||
TODO()
|
||||
}
|
||||
}
|
||||
|
||||
class B() {}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
|
||||
fun case2() {
|
||||
var a = Case2()
|
||||
val res: Any? = ++a
|
||||
}
|
||||
|
||||
class Case2() : C() {
|
||||
var i = 0
|
||||
|
||||
operator fun inc(): C {
|
||||
TODO()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
open class C() {}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-213
|
||||
* PLACE: expressions, prefix-expressions, prefix-increment-expression -> paragraph 4 -> sentence 1
|
||||
* RELEVANT PLACES: statements, assignments -> paragraph 3 -> sentence 2
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: check unsafe prefix increment expression call for an assignable expression
|
||||
*/
|
||||
class A() {
|
||||
var i = 0
|
||||
|
||||
operator fun inc(): A {
|
||||
this.i++
|
||||
return this
|
||||
}
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
|
||||
fun case1() {
|
||||
var b: Case1? = Case1()
|
||||
<!AMBIGUITY!>++<!>b?.a
|
||||
}
|
||||
|
||||
|
||||
class Case1() {
|
||||
var a: A = A()
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
|
||||
fun case2() {
|
||||
var b= Case2()
|
||||
++b.a
|
||||
}
|
||||
|
||||
class Case2() {
|
||||
val a = A()
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SPEC VERSION: 0.1-213
|
||||
* PLACE: expressions, prefix-expressions, prefix-increment-expression -> paragraph 5 -> sentence 2
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: check as the result of inc is assigned to A, the return type of inc must be a subtype of A.
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
|
||||
fun case1() {
|
||||
var a = Case1()
|
||||
val res: Any? = --a
|
||||
}
|
||||
|
||||
|
||||
class Case1() {
|
||||
|
||||
operator fun dec(): B {
|
||||
TODO()
|
||||
}
|
||||
}
|
||||
|
||||
class B() {}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
|
||||
fun case2() {
|
||||
var a = Case2()
|
||||
val res: Any? = --a
|
||||
}
|
||||
|
||||
class Case2() : C() {
|
||||
var i = 0
|
||||
|
||||
operator fun dec(): C {
|
||||
TODO()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
open class C() {}
|
||||
Reference in New Issue
Block a user