Adjust various testData to size transformation
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
class MyCollection<T>: Collection<T> {
|
class MyCollection<T>: Collection<T> {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun contains(o: Any?): Boolean = false
|
override fun contains(o: Any?): Boolean = false
|
||||||
override fun iterator(): Iterator<T> = throw UnsupportedOperationException()
|
override fun iterator(): Iterator<T> = throw UnsupportedOperationException()
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
class MyList<T>: List<T> {
|
class MyList<T>: List<T> {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun contains(o: Any?): Boolean = false
|
override fun contains(o: Any?): Boolean = false
|
||||||
override fun iterator(): Iterator<T> = throw Error()
|
override fun iterator(): Iterator<T> = throw Error()
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
class MyList<T>(val v: T): List<T> {
|
class MyList<T>(val v: T): List<T> {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun contains(o: Any?): Boolean = false
|
override fun contains(o: Any?): Boolean = false
|
||||||
override fun iterator(): Iterator<T> = throw Error()
|
override fun iterator(): Iterator<T> = throw Error()
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ open class Super<T>(val v: T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class MyList<T>(v: T): Super<T>(v), List<T> {
|
class MyList<T>(v: T): Super<T>(v), List<T> {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun contains(o: Any?): Boolean = false
|
override fun contains(o: Any?): Boolean = false
|
||||||
override fun iterator(): Iterator<T> = throw Error()
|
override fun iterator(): Iterator<T> = throw Error()
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
class MyMap<K, V>: Map<K, V> {
|
class MyMap<K, V>: Map<K, V> {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun containsKey(key: Any?): Boolean = false
|
override fun containsKey(key: Any?): Boolean = false
|
||||||
override fun containsValue(value: Any?): Boolean = false
|
override fun containsValue(value: Any?): Boolean = false
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
class MyMap<K, V>: Map<K, V> {
|
class MyMap<K, V>: Map<K, V> {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun containsKey(key: Any?): Boolean = false
|
override fun containsKey(key: Any?): Boolean = false
|
||||||
override fun containsValue(value: Any?): Boolean = false
|
override fun containsValue(value: Any?): Boolean = false
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
class MyList: List<String> {
|
class MyList: List<String> {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun contains(o: Any?): Boolean = false
|
override fun contains(o: Any?): Boolean = false
|
||||||
override fun iterator(): Iterator<String> = throw Error()
|
override fun iterator(): Iterator<String> = throw Error()
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@ import java.util.AbstractList
|
|||||||
|
|
||||||
class A : AbstractList<String>() {
|
class A : AbstractList<String>() {
|
||||||
override fun get(index: Int): String = ""
|
override fun get(index: Int): String = ""
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ interface Addable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class C : Addable, List<String> {
|
class C : Addable, List<String> {
|
||||||
override fun size(): Int = null!!
|
override val size: Int get() = null!!
|
||||||
override fun isEmpty(): Boolean = null!!
|
override fun isEmpty(): Boolean = null!!
|
||||||
override fun contains(o: Any?): Boolean = null!!
|
override fun contains(o: Any?): Boolean = null!!
|
||||||
override fun iterator(): Iterator<String> = null!!
|
override fun iterator(): Iterator<String> = null!!
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ open class SetStringImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class S : Set<String>, SetStringImpl() {
|
class S : Set<String>, SetStringImpl() {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun contains(o: Any?): Boolean = false
|
override fun contains(o: Any?): Boolean = false
|
||||||
override fun iterator(): Iterator<String> = null!!
|
override fun iterator(): Iterator<String> = null!!
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
import java.util.Collections
|
import java.util.Collections
|
||||||
|
|
||||||
class A<U : Number, V : U, W : V> : Set<W> {
|
class A<U : Number, V : U, W : V> : Set<W> {
|
||||||
override fun size(): Int = 0
|
override val size: Int get() = 0
|
||||||
override fun isEmpty(): Boolean = true
|
override fun isEmpty(): Boolean = true
|
||||||
override fun contains(o: Any?): Boolean = false
|
override fun contains(o: Any?): Boolean = false
|
||||||
override fun iterator(): Iterator<W> = Collections.emptySet<W>().iterator()
|
override fun iterator(): Iterator<W> = Collections.emptySet<W>().iterator()
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import java.util.ArrayList
|
|||||||
|
|
||||||
class MyCollection<T> : Collection<List<Iterator<T>>> {
|
class MyCollection<T> : Collection<List<Iterator<T>>> {
|
||||||
override fun iterator() = null!!
|
override fun iterator() = null!!
|
||||||
override fun size(): Int = null!!
|
override val size: Int get() = null!!
|
||||||
override fun isEmpty(): Boolean = null!!
|
override fun isEmpty(): Boolean = null!!
|
||||||
override fun contains(o: Any?): Boolean = null!!
|
override fun contains(o: Any?): Boolean = null!!
|
||||||
override fun containsAll(c: Collection<Any?>): Boolean = null!!
|
override fun containsAll(c: Collection<Any?>): Boolean = null!!
|
||||||
|
|||||||
@@ -15,6 +15,6 @@ class World() {
|
|||||||
|
|
||||||
fun box() : String {
|
fun box() : String {
|
||||||
val w = World()
|
val w = World()
|
||||||
if (w.items.size() != 1) return "fail"
|
if (w.items.size != 1) return "fail"
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ import java.util.AbstractList
|
|||||||
class MyList(): AbstractList<String>() {
|
class MyList(): AbstractList<String>() {
|
||||||
public fun getModificationCount(): Int = modCount
|
public fun getModificationCount(): Int = modCount
|
||||||
public override fun get(index: Int): String = ""
|
public override fun get(index: Int): String = ""
|
||||||
public override fun size(): Int = 0
|
public override val size: Int get() = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
|
|||||||
+1
-1
@@ -20,5 +20,5 @@ fun box(): String {
|
|||||||
}
|
}
|
||||||
bar()
|
bar()
|
||||||
|
|
||||||
return if (list.size() == 2 && list.get(0) == 2 && list.get(1) == 3) "OK" else "fail"
|
return if (list.size == 2 && list.get(0) == 2 && list.get(1) == 3) "OK" else "fail"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,5 +21,5 @@ fun box(): String {
|
|||||||
v1.add("foo")
|
v1.add("foo")
|
||||||
v2.add("bar")
|
v2.add("bar")
|
||||||
val v3 = v1 + v2
|
val v3 = v1 + v2
|
||||||
return if (v3.contents.size() == 2) "OK" else "fail"
|
return if (v3.contents.size == 2) "OK" else "fail"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,5 +22,5 @@ fun box(): String {
|
|||||||
v1.add("foo")
|
v1.add("foo")
|
||||||
v2.add("bar")
|
v2.add("bar")
|
||||||
v1 += v2
|
v1 += v2
|
||||||
return if (v1.contents.size() == 2) "OK" else "fail"
|
return if (v1.contents.size == 2) "OK" else "fail"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,5 +26,5 @@ fun box(): String {
|
|||||||
val v3 = v1
|
val v3 = v1
|
||||||
v2.add("bar")
|
v2.add("bar")
|
||||||
v1 += v2
|
v1 += v2
|
||||||
return if (v1.contents.size() == 2 && v3.contents.size() == 1) "OK" else "fail"
|
return if (v1.contents.size == 2 && v3.contents.size == 1) "OK" else "fail"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,5 +26,5 @@ fun box(): String {
|
|||||||
val v3 = v1
|
val v3 = v1
|
||||||
v2.add("bar")
|
v2.add("bar")
|
||||||
v1 += v2
|
v1 += v2
|
||||||
return if (v1.contents.size() == 2 && v3.contents.size() == 1) "OK" else "fail"
|
return if (v1.contents.size == 2 && v3.contents.size == 1) "OK" else "fail"
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ fun box(): String {
|
|||||||
foo
|
foo
|
||||||
42.foo
|
42.foo
|
||||||
|
|
||||||
if (O.metadatas.size() != 1)
|
if (O.metadatas.size != 1)
|
||||||
return "Too many different PropertyMetadata instances: ${O.metadatas}"
|
return "Too many different PropertyMetadata instances: ${O.metadatas}"
|
||||||
|
|
||||||
val m = O.metadatas.iterator().next()
|
val m = O.metadatas.iterator().next()
|
||||||
|
|||||||
+1
-1
@@ -39,7 +39,7 @@ fun box(): String {
|
|||||||
A.bar = baz + a.foo
|
A.bar = baz + a.foo
|
||||||
baz + A.bar
|
baz + A.bar
|
||||||
|
|
||||||
if (metadatas.keySet().size() != 3)
|
if (metadatas.keySet().size != 3)
|
||||||
return "Fail: only three instances of PropertyMetadata should have been created\n${metadatas.keySet()}"
|
return "Fail: only three instances of PropertyMetadata should have been created\n${metadatas.keySet()}"
|
||||||
|
|
||||||
return "OK"
|
return "OK"
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ fun box() : String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var <T> ArrayList<T>.length : Int
|
var <T> ArrayList<T>.length : Int
|
||||||
get() = size()
|
get() = size
|
||||||
set(value: Int) = throw java.lang.Error()
|
set(value: Int) = throw java.lang.Error()
|
||||||
|
|
||||||
var <T> ArrayList<T>.last : T
|
var <T> ArrayList<T>.last : T
|
||||||
get() = get(size()-1)!!
|
get() = get(size-1)!!
|
||||||
set(el : T) { set(size()-1, el) }
|
set(el : T) { set(size-1, el) }
|
||||||
|
|||||||
@@ -15,5 +15,5 @@ class Template() {
|
|||||||
fun box() : String {
|
fun box() : String {
|
||||||
val u = Template()
|
val u = Template()
|
||||||
u.test()
|
u.test()
|
||||||
return if(u.collected.size() == 1 && u.collected.get(0) == "239") "OK" else "fail"
|
return if(u.collected.size == 1 && u.collected.get(0) == "239") "OK" else "fail"
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ fun box() : String {
|
|||||||
for (i in vals.indices)
|
for (i in vals.indices)
|
||||||
for (j in i..vals.lastIndex())
|
for (j in i..vals.lastIndex())
|
||||||
diffs.add(vals[i] - vals[j])
|
diffs.add(vals[i] - vals[j])
|
||||||
val size = diffs.size()
|
val size = diffs.size
|
||||||
|
|
||||||
if (size != 8) return "Fail $size"
|
if (size != 8) return "Fail $size"
|
||||||
return "OK"
|
return "OK"
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
abstract class C : Test.A, List<String> {
|
abstract class C : Test.A, List<String> {
|
||||||
override fun size(): Int = null!!
|
override val size: Int get() = null!!
|
||||||
override fun isEmpty(): Boolean = null!!
|
override fun isEmpty(): Boolean = null!!
|
||||||
override fun contains(o: Any?): Boolean = null!!
|
override fun contains(o: Any?): Boolean = null!!
|
||||||
override fun iterator(): Iterator<String> = null!!
|
override fun iterator(): Iterator<String> = null!!
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ import java.util.*
|
|||||||
fun concat(l: List<String>): String? {
|
fun concat(l: List<String>): String? {
|
||||||
val sb = StringBuilder()
|
val sb = StringBuilder()
|
||||||
for(s in l) {
|
for(s in l) {
|
||||||
val x = if(l.size() > 1) { "T" } else { "F" };
|
val x = if(l.size > 1) { "T" } else { "F" };
|
||||||
sb.append(x)
|
sb.append(x)
|
||||||
}
|
}
|
||||||
return sb.toString()
|
return sb.toString()
|
||||||
|
|||||||
@@ -43,4 +43,4 @@ fun <T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val Collection<*>.size : Int
|
val Collection<*>.size : Int
|
||||||
get() = size()
|
get() = size
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package collections
|
package collections
|
||||||
|
|
||||||
fun <T> testCollection(c: Collection<T>, t: T) {
|
fun <T> testCollection(c: Collection<T>, t: T) {
|
||||||
c.size()
|
c.size
|
||||||
c.isEmpty()
|
c.isEmpty()
|
||||||
c.contains(1)
|
c.contains(1)
|
||||||
val <!UNUSED_VARIABLE!>iterator<!>: Iterator<T> = c.iterator()
|
val <!UNUSED_VARIABLE!>iterator<!>: Iterator<T> = c.iterator()
|
||||||
@@ -17,7 +17,7 @@ fun <T> testCollection(c: Collection<T>, t: T) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
fun <T> testMutableCollection(c: MutableCollection<T>, t: T) {
|
fun <T> testMutableCollection(c: MutableCollection<T>, t: T) {
|
||||||
c.size()
|
c.size
|
||||||
c.isEmpty()
|
c.isEmpty()
|
||||||
c.contains(1)
|
c.contains(1)
|
||||||
val <!UNUSED_VARIABLE!>iterator<!>: Iterator<T> = c.iterator()
|
val <!UNUSED_VARIABLE!>iterator<!>: Iterator<T> = c.iterator()
|
||||||
@@ -59,7 +59,7 @@ fun <T> testMutableList(l: MutableList<T>, t: T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun <T> testSet(s: Set<T>, t: T) {
|
fun <T> testSet(s: Set<T>, t: T) {
|
||||||
s.size()
|
s.size
|
||||||
s.isEmpty()
|
s.isEmpty()
|
||||||
s.contains(1)
|
s.contains(1)
|
||||||
val <!UNUSED_VARIABLE!>iterator<!>: Iterator<T> = s.iterator()
|
val <!UNUSED_VARIABLE!>iterator<!>: Iterator<T> = s.iterator()
|
||||||
@@ -75,7 +75,7 @@ fun <T> testSet(s: Set<T>, t: T) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
fun <T> testMutableSet(s: MutableSet<T>, t: T) {
|
fun <T> testMutableSet(s: MutableSet<T>, t: T) {
|
||||||
s.size()
|
s.size
|
||||||
s.isEmpty()
|
s.isEmpty()
|
||||||
s.contains(1)
|
s.contains(1)
|
||||||
val <!UNUSED_VARIABLE!>iterator<!>: Iterator<T> = s.iterator()
|
val <!UNUSED_VARIABLE!>iterator<!>: Iterator<T> = s.iterator()
|
||||||
|
|||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
package i
|
package i
|
||||||
|
|
||||||
val <T> List<T>.length = <!EXTENSION_PROPERTY_WITH_BACKING_FIELD!>size()<!>
|
val <T> List<T>.length = <!EXTENSION_PROPERTY_WITH_BACKING_FIELD!>size<!>
|
||||||
|
|
||||||
val <T> List<T>.length1 : Int get() = size()
|
val <T> List<T>.length1 : Int get() = size
|
||||||
|
|
||||||
val String.bd = <!EXTENSION_PROPERTY_WITH_BACKING_FIELD!>this + "!"<!>
|
val String.bd = <!EXTENSION_PROPERTY_WITH_BACKING_FIELD!>this + "!"<!>
|
||||||
|
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ fun calc(x: List<String>?, y: Int?): Int {
|
|||||||
x?.get(y!! - 1)
|
x?.get(y!! - 1)
|
||||||
// y!! above should not provide smart cast here
|
// y!! above should not provide smart cast here
|
||||||
val yy: Int = <!TYPE_MISMATCH!>y<!>
|
val yy: Int = <!TYPE_MISMATCH!>y<!>
|
||||||
return yy + (x?.size() ?: 0)
|
return yy + (x?.size ?: 0)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
// After KT-5840 fix !! assertion should become unnecessary here
|
// After KT-5840 fix !! assertion should become unnecessary here
|
||||||
x?.get(x<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.size() - 1)
|
x?.get(x<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.size - 1)
|
||||||
// x?. or x!! above should not provide smart cast here
|
// x?. or x!! above should not provide smart cast here
|
||||||
return x<!UNSAFE_CALL!>.<!>size()
|
return x<!UNSAFE_CALL!>.<!>size
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
// x should be non-null in arguments list, despite of a chain
|
// x should be non-null in arguments list, despite of a chain
|
||||||
x?.subList(0, 1)?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size())
|
x?.subList(0, 1)?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size)
|
||||||
// But not here!
|
// But not here!
|
||||||
return x!!.size()
|
return x!!.size
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
fun calc(x: List<String>?, y: List<Int>?) {
|
fun calc(x: List<String>?, y: List<Int>?) {
|
||||||
// x and y should be non-null in arguments list, despite of a chains
|
// x and y should be non-null in arguments list, despite of a chains
|
||||||
x?.subList(y?.subList(1, 2)?.get(<!DEBUG_INFO_SMARTCAST!>y<!>.size()) ?: 0,
|
x?.subList(y?.subList(1, 2)?.get(<!DEBUG_INFO_SMARTCAST!>y<!>.size) ?: 0,
|
||||||
y?.get(0) ?: 1) // But safe call is NECESSARY here for y
|
y?.get(0) ?: 1) // But safe call is NECESSARY here for y
|
||||||
?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size())
|
?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
// x should be non-null in arguments list, despite of a chain
|
// x should be non-null in arguments list, despite of a chain
|
||||||
x?.subList(0, 1)<!UNSAFE_CALL!>.<!>get(<!DEBUG_INFO_SMARTCAST!>x<!>.size())
|
x?.subList(0, 1)<!UNSAFE_CALL!>.<!>get(<!DEBUG_INFO_SMARTCAST!>x<!>.size)
|
||||||
// But not here!
|
// But not here!
|
||||||
return x!!.size()
|
return x!!.size
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
// x should be non-null in arguments list, including inner call
|
// x should be non-null in arguments list, including inner call
|
||||||
x?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size() - 1).length())
|
x?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size - 1).length())
|
||||||
// but not also here!
|
// but not also here!
|
||||||
return x<!UNSAFE_CALL!>.<!>size()
|
return x<!UNSAFE_CALL!>.<!>size
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
fun foo(y: Int) = y
|
fun foo(y: Int) = y
|
||||||
|
|
||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
foo(x!!.size())
|
foo(x!!.size)
|
||||||
// Here we should have smart cast because of x!!, despite of KT-7204 fixed
|
// Here we should have smart cast because of x!!, despite of KT-7204 fixed
|
||||||
return <!DEBUG_INFO_SMARTCAST!>x<!>.size()
|
return <!DEBUG_INFO_SMARTCAST!>x<!>.size
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
fun String.foo(y: Int) = y
|
fun String.foo(y: Int) = y
|
||||||
|
|
||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
"abc".foo(x!!.size())
|
"abc".foo(x!!.size)
|
||||||
// Here we should have smart cast because of x!!, despite of KT-7204 fixed
|
// Here we should have smart cast because of x!!, despite of KT-7204 fixed
|
||||||
return <!DEBUG_INFO_SMARTCAST!>x<!>.size()
|
return <!DEBUG_INFO_SMARTCAST!>x<!>.size
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,5 +4,5 @@ fun foo(y: Int): Int {
|
|||||||
|
|
||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
// x should be non-null in arguments list
|
// x should be non-null in arguments list
|
||||||
return foo(x?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size() - 1)!!.length())
|
return foo(x?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size - 1)!!.length())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
fun calc(x: List<String>?) {
|
fun calc(x: List<String>?) {
|
||||||
// x should be non-null in arguments list, despite of a chain
|
// x should be non-null in arguments list, despite of a chain
|
||||||
x?.subList(0, <!DEBUG_INFO_SMARTCAST!>x<!>.size())?.
|
x?.subList(0, <!DEBUG_INFO_SMARTCAST!>x<!>.size)?.
|
||||||
subList(0, <!DEBUG_INFO_SMARTCAST!>x<!>.size())?.
|
subList(0, <!DEBUG_INFO_SMARTCAST!>x<!>.size)?.
|
||||||
get(<!DEBUG_INFO_SMARTCAST!>x<!>.size())
|
get(<!DEBUG_INFO_SMARTCAST!>x<!>.size)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
// x should be non-null in arguments list
|
// x should be non-null in arguments list
|
||||||
x?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size() - 1)
|
x?.get(<!DEBUG_INFO_SMARTCAST!>x<!>.size - 1)
|
||||||
// but not also here!
|
// but not also here!
|
||||||
return x<!UNSAFE_CALL!>.<!>size()
|
return x<!UNSAFE_CALL!>.<!>size
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
fun calc(x: List<String>?): Int {
|
fun calc(x: List<String>?): Int {
|
||||||
// x should be non-null in arguments list
|
// x should be non-null in arguments list
|
||||||
x?.subList(<!DEBUG_INFO_SMARTCAST!>x<!>.size() - 1, <!DEBUG_INFO_SMARTCAST!>x<!>.size())
|
x?.subList(<!DEBUG_INFO_SMARTCAST!>x<!>.size - 1, <!DEBUG_INFO_SMARTCAST!>x<!>.size)
|
||||||
// but not also here!
|
// but not also here!
|
||||||
return x<!UNSAFE_CALL!>.<!>size()
|
return x<!UNSAFE_CALL!>.<!>size
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,6 @@ fun testB(b: B<*, *>) {
|
|||||||
b.r().checkType { _<Any?>() }
|
b.r().checkType { _<Any?>() }
|
||||||
b.t().checkType { _<B<List<*>, *>>() }
|
b.t().checkType { _<B<List<*>, *>>() }
|
||||||
|
|
||||||
b.t().r().size()
|
b.t().r().size
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user