Make Array.size() a function instead of a property

Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
This commit is contained in:
Alexander Udalov
2014-11-14 18:02:04 +03:00
parent bc238d5f4c
commit 128c938965
67 changed files with 677 additions and 625 deletions
@@ -142,7 +142,7 @@ public class IntrinsicMethods {
declareArrayMethodsForPrimitive(jvmPrimitiveType);
}
declareIntrinsicProperty("Array", "size", ARRAY_SIZE);
declareIntrinsicFunction("Array", "size", 0, ARRAY_SIZE);
declareIntrinsicProperty("Array", "indices", ARRAY_INDICES);
declareIntrinsicFunction("Array", "set", 2, ARRAY_SET);
declareIntrinsicFunction("Array", "get", 1, ARRAY_GET);
@@ -152,7 +152,7 @@ public class IntrinsicMethods {
private void declareArrayMethodsForPrimitive(@NotNull JvmPrimitiveType jvmPrimitiveType) {
String arrayTypeName = jvmPrimitiveType.getPrimitiveType().getArrayTypeName().asString();
declareIntrinsicProperty(arrayTypeName, "size", ARRAY_SIZE);
declareIntrinsicFunction(arrayTypeName, "size", 0, ARRAY_SIZE);
declareIntrinsicProperty(arrayTypeName, "indices", ARRAY_INDICES);
declareIntrinsicFunction(arrayTypeName, "set", 2, ARRAY_SET);
declareIntrinsicFunction(arrayTypeName, "get", 1, ARRAY_GET);
+9 -18
View File
@@ -17,12 +17,11 @@ public final class Array</*0*/ reified T> : kotlin.Cloneable {
/*primary*/ public constructor Array</*0*/ reified T>(/*0*/ size: kotlin.Int, /*1*/ init: kotlin.Function1<kotlin.Int, T>)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.Array<T>
public final fun get(/*0*/ index: kotlin.Int): T
public final fun iterator(): kotlin.Iterator<T>
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: T): kotlin.Unit
public final fun size(): kotlin.Int
}
public final class Boolean : kotlin.Comparable<kotlin.Boolean> {
@@ -38,12 +37,11 @@ public final class BooleanArray : kotlin.Cloneable {
/*primary*/ public constructor BooleanArray(/*0*/ size: kotlin.Int)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.BooleanArray
public final fun get(/*0*/ index: kotlin.Int): kotlin.Boolean
public final fun iterator(): kotlin.BooleanIterator
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Boolean): kotlin.Unit
public final fun size(): kotlin.Int
}
public abstract class BooleanIterator : kotlin.Iterator<kotlin.Boolean> {
@@ -121,12 +119,11 @@ public final class ByteArray : kotlin.Cloneable {
/*primary*/ public constructor ByteArray(/*0*/ size: kotlin.Int)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.ByteArray
public final fun get(/*0*/ index: kotlin.Int): kotlin.Byte
public final fun iterator(): kotlin.ByteIterator
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Byte): kotlin.Unit
public final fun size(): kotlin.Int
}
public abstract class ByteIterator : kotlin.Iterator<kotlin.Byte> {
@@ -242,12 +239,11 @@ public final class CharArray : kotlin.Cloneable {
/*primary*/ public constructor CharArray(/*0*/ size: kotlin.Int)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.CharArray
public final fun get(/*0*/ index: kotlin.Int): kotlin.Char
public final fun iterator(): kotlin.CharIterator
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Char): kotlin.Unit
public final fun size(): kotlin.Int
}
public abstract class CharIterator : kotlin.Iterator<kotlin.Char> {
@@ -394,12 +390,11 @@ public final class DoubleArray : kotlin.Cloneable {
/*primary*/ public constructor DoubleArray(/*0*/ size: kotlin.Int)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.DoubleArray
public final fun get(/*0*/ index: kotlin.Int): kotlin.Double
public final fun iterator(): kotlin.DoubleIterator
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Double): kotlin.Unit
public final fun size(): kotlin.Int
}
public abstract class DoubleIterator : kotlin.Iterator<kotlin.Double> {
@@ -621,12 +616,11 @@ public final class FloatArray : kotlin.Cloneable {
/*primary*/ public constructor FloatArray(/*0*/ size: kotlin.Int)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.FloatArray
public final fun get(/*0*/ index: kotlin.Int): kotlin.Float
public final fun iterator(): kotlin.FloatIterator
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Float): kotlin.Unit
public final fun size(): kotlin.Int
}
public abstract class FloatIterator : kotlin.Iterator<kotlin.Float> {
@@ -926,12 +920,11 @@ public final class IntArray : kotlin.Cloneable {
/*primary*/ public constructor IntArray(/*0*/ size: kotlin.Int)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.IntArray
public final fun get(/*0*/ index: kotlin.Int): kotlin.Int
public final fun iterator(): kotlin.IntIterator
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Int): kotlin.Unit
public final fun size(): kotlin.Int
}
public abstract class IntIterator : kotlin.Iterator<kotlin.Int> {
@@ -1096,12 +1089,11 @@ public final class LongArray : kotlin.Cloneable {
/*primary*/ public constructor LongArray(/*0*/ size: kotlin.Int)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.LongArray
public final fun get(/*0*/ index: kotlin.Int): kotlin.Long
public final fun iterator(): kotlin.LongIterator
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Long): kotlin.Unit
public final fun size(): kotlin.Int
}
public abstract class LongIterator : kotlin.Iterator<kotlin.Long> {
@@ -1391,12 +1383,11 @@ public final class ShortArray : kotlin.Cloneable {
/*primary*/ public constructor ShortArray(/*0*/ size: kotlin.Int)
public final val indices: kotlin.IntRange
public final fun <get-indices>(): kotlin.IntRange
public final val size: kotlin.Int
public final fun <get-size>(): kotlin.Int
public open override /*1*/ fun clone(): kotlin.ShortArray
public final fun get(/*0*/ index: kotlin.Int): kotlin.Short
public final fun iterator(): kotlin.ShortIterator
public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Short): kotlin.Unit
public final fun size(): kotlin.Int
}
public abstract class ShortIterator : kotlin.Iterator<kotlin.Short> {
@@ -6,55 +6,55 @@ fun foo(a: Any): Int {
a.set(0, 1)
a.iterator()
a.indices
return a.size
return a.size()
}
if (a is ShortArray) {
a.get(0)
a.set(0, 1)
a.iterator()
a.indices
return a.size
return a.size()
}
if (a is ByteArray) {
a.get(0)
a.set(0, 1)
a.iterator()
a.indices
return a.size
return a.size()
}
if (a is FloatArray) {
a.get(0)
a.set(0, 1.toFloat())
a.iterator()
a.indices
return a.size
return a.size()
}
if (a is DoubleArray) {
a.get(0)
a.set(0, 1.0)
a.iterator()
a.indices
return a.size
return a.size()
}
if (a is BooleanArray) {
a.get(0)
a.set(0, false)
a.iterator()
a.indices
return a.size
return a.size()
}
if (a is CharArray) {
a.get(0)
a.set(0, 'a')
a.iterator()
a.indices
return a.size
return a.size()
}
if (a is Array<*>) {
if (a.size > 0) a.get(0)
if (a.size() > 0) a.get(0)
a.iterator()
a.indices
return a.size
return a.size()
}
return 0
@@ -22,11 +22,8 @@ fun box() : String {
catch (e : ArrayIndexOutOfBoundsException) {
// No more tests to process
}
System.out?.println(n)
return if(n == 2) "OK" else "fail"
}
fun thirdElementIsThree(a : IntArray) =
// Problematic code does not compile
// a.size >= 3 & a[2] == 3
a.size >= 3 && a[2] == 3
a.size() >= 3 && a[2] == 3
@@ -1,3 +1,3 @@
val <T> Array<T>.length : Int get() = this.size
val <T> Array<T>.length : Int get() = this.size()
fun box() = if(Array(10, {1}).length == 10) "OK" else "fail"
@@ -1,7 +1,7 @@
public class StockMarketTableModel() {
public fun getColumnCount() : Int {
return COLUMN_TITLES?.size!!
return COLUMN_TITLES?.size()!!
}
class object {
@@ -4,7 +4,7 @@ fun IntArray.swap(i:Int, j:Int) {
this[j] = temp
}
fun IntArray.quicksort() = quicksort(0, size-1)
fun IntArray.quicksort() = quicksort(0, size()-1)
fun IntArray.quicksort(L: Int, R:Int) {
val m = this[(L + R) / 2]
@@ -34,7 +34,7 @@ fun box() : String {
a[2*i+1] = -2*i-1
}
a.quicksort()
for(i in 0..a.size-2) {
for(i in 0..a.size()-2) {
if (a[i] > a[i+1]) return "Fail $i: ${a[i]} > ${a[i+1]}"
}
return "OK"
@@ -13,7 +13,7 @@ fun box(): String {
if (Game.foo() != Game.ROCK) return "Fail 1"
// TODO: fix initialization order and uncomment (KT-5761)
// if (Game.bar != Game.PAPER) return "Fail 2: ${Game.bar}"
if (Game.values().size != 3) return "Fail 3"
if (Game.values().size() != 3) return "Fail 3"
if (Game.valueOf("SCISSORS") != Game.SCISSORS) return "Fail 4"
return "OK"
}
@@ -1,7 +1,7 @@
enum class Empty
fun box(): String {
if (Empty.values().size != 0) return "Fail: ${Empty.values()}"
if (Empty.values().size() != 0) return "Fail: ${Empty.values()}"
try {
val found = Empty.valueOf("nonExistentEntry")
@@ -1,9 +1,9 @@
class A {
fun get(vararg x: Int) = x.size
fun get(vararg x: Int) = x.size()
}
class B {
fun get(vararg x: Unit) = x.size
fun get(vararg x: Unit) = x.size()
}
fun test1(a: A): Int {
@@ -7,7 +7,7 @@ fun checkLess(x: Array<Int>, y: Array<Int>) = when {
else -> "OK"
}
fun Array<Int>.compareTo(other: Array<Int>) = size - other.size
fun Array<Int>.compareTo(other: Array<Int>) = size() - other.size()
fun box(): String {
val a = Array<Int>(0, {0})
@@ -27,4 +27,4 @@ fun bottlesOfBeer(count : Int) : String {
fun print(message : String) { System.out?.print(message) }
fun println(message : String) { System.out?.println(message) }
fun StringBuilder.plusAssign(o : Any) { append(o) }
val <T> Array<T>.isEmpty : Boolean get() = size == 0
val <T> Array<T>.isEmpty : Boolean get() = size() == 0
@@ -1,8 +1,8 @@
fun box() : String {
val data = Array<Array<Boolean>>(3) { Array<Boolean>(4, {false}) }
for(d in data) {
if(d.size != 4) return "fail"
System.out?.println(d)
if(d.size() != 4) return "fail"
for(b in d) if (b) return "fail"
}
return "OK"
@@ -19,7 +19,7 @@ fun box() : String {
P(""""" """"", "\"\" \"\"")
)
for (i in 0..data.size-1) {
for (i in 0..data.size()-1) {
val p = data[i]
if (p.actual != p.expected) return "Fail at #$i. actual='${p.actual}', expected='${p.expected}'"
}
@@ -39,7 +39,7 @@ class MutableArray<T>(length: Int, init : (Int) -> T) : ReadOnlyArray<T>, WriteO
override fun set(index : Int, value : T) : Unit { array[index] = value }
override val size : Int
get() = array.size
get() = array.size()
}
fun box() : String {
@@ -47,10 +47,10 @@ fun box() : String {
a [0] = 10
a.set(1, 2, 13)
a [3] = 40
System.out?.println(a.iterator())
System.out?.println(a.iterator().hasNext())
a.iterator()
a.iterator().hasNext()
for(el in a) {
System.out?.println(el)
val fl = el
}
return "OK"
}
@@ -4,12 +4,9 @@ import java.util.HashSet
fun iarray(vararg a : Int) = a // BUG
fun IntArray.lastIndex() = size - 1
fun IntArray.lastIndex() = size() - 1
fun box() : String {
// Problematic code does not compile
// val vals = iarray(789, 678, 567, 456, 345, 234, 123, 012)
val vals = iarray(789, 678, 567, 456, 345, 234, 123, 12)
val diffs = HashSet<Int>()
for (i in vals.indices)
@@ -3,13 +3,13 @@ fun foo(a: Int, vararg b: Int, f: (IntArray) -> String): String {
}
fun box(): String {
val test1 = foo(1) {a -> "" + a.size}
val test1 = foo(1) {a -> "" + a.size()}
if (test1 != "test1 0") return test1
val test2 = foo(2, 2) {a -> "" + a.size}
val test2 = foo(2, 2) {a -> "" + a.size()}
if (test2 != "test2 1") return test2
val test3 = foo(3, 2, 3) {a -> "" + a.size}
val test3 = foo(3, 2, 3) {a -> "" + a.size()}
if (test3 != "test3 2") return test3
return "OK"
@@ -22,11 +22,11 @@ fun box(): String {
val e = javaClass<E>()
val e1 = e.getDeclaredField(E.E1.toString()).getAnnotations()
if (e1.size != 1) return "Fail E1 size: ${e1.toList()}"
if (e1.size() != 1) return "Fail E1 size: ${e1.toList()}"
if (e1[0].annotationType() != javaClass<First>()) return "Fail E1: ${e1.toList()}"
val e2 = e.getDeclaredField(E.E2.toString()).getAnnotations()
if (e2.size != 1) return "Fail E2 size: ${e2.toList()}"
if (e2.size() != 1) return "Fail E2 size: ${e2.toList()}"
if (e2[0].annotationType() != javaClass<Second>()) return "Fail E2: ${e2.toList()}"
return (e2[0] as Second).value
@@ -4,12 +4,12 @@ fun box() : String {
for (method in javaClass<A>().getDeclaredMethods()) {
if (method.getName() == "copy"){
val parameterTypes = method.getParameterTypes()
if (parameterTypes != null && parameterTypes.size == 2) {
if (parameterTypes != null && parameterTypes.size() == 2) {
val copy = A(1, "a").copy(a = 2, b = "b")
return "OK"
}
else {
return "Method copy has " + (if (parameterTypes == null) "0" else parameterTypes.size) + " parameters, expected 2"
return "Method copy has " + (if (parameterTypes == null) "0" else parameterTypes.size()) + " parameters, expected 2"
}
}
}
@@ -9,7 +9,7 @@ fun box(): String {
return "Fail: an exception should be thrown"
} catch (e: IllegalStateException) {
val st = (e as java.lang.Throwable).getStackTrace()
if (st.size < 5) {
if (st.size() < 5) {
return "Fail: very small stack trace, should at least have current function and JUnit reflective calls: ${Arrays.toString(st)}"
}
val top = st[0]
@@ -18,7 +18,7 @@ fun box(): String {
val method = javaClass<A>().getDeclaredMethod("a", javaClass<B>())
val genericParameterTypes = method.getGenericParameterTypes()
if (genericParameterTypes.size != 1) return "Wrong number of generic parameters"
if (genericParameterTypes.size() != 1) return "Wrong number of generic parameters"
if (genericParameterTypes[0].toString() != "T") return "Wrong parameter type ${genericParameterTypes[0].toString()}"
@@ -1,6 +1,6 @@
import kotlin.test.assertEquals
fun <T> foo(vararg a: T) = a.size
fun <T> foo(vararg a: T) = a.size()
inline fun <reified T> bar(a: Array<T>, block: () -> T): Array<T> {
assertEquals(4, foo(*a, block(), block()))
@@ -1,6 +1,6 @@
import kotlin.test.assertEquals
fun <T> foo(vararg a: T) = a.size
fun <T> foo(vararg a: T) = a.size()
inline fun <reified T> bar(block: () -> T): Array<T> {
assertEquals(2, foo(block(), block()))
@@ -20,7 +20,7 @@ fun box(): String {
assertEquals("234", b.map { it.toString() }.join(""))
val c: Array<String> = empty()
assertEquals(0, c.size)
assertEquals(0, c.size())
return "OK"
}
@@ -5,4 +5,4 @@ package java
val c : lang.Class<*>? = null
val <T> Array<T>?.length : Int get() = if (this != null) <!DEBUG_INFO_SMARTCAST!>this<!>.size else throw NullPointerException()
val <T> Array<T>?.length : Int get() = if (this != null) <!DEBUG_INFO_SMARTCAST!>this<!>.size() else throw NullPointerException()
@@ -106,30 +106,34 @@ LazyJavaPackageFragment@48['java'] {
classes('NullPointerException': Name@71) = null // through LazyPackageFragmentScopeForJavaPackage@69
classes('equals': Name@72) = null // through LazyPackageFragmentScopeForJavaPackage@69
classes('lang': Name@73) = null // through LazyPackageFragmentScopeForJavaPackage@69
deserializedPackageScope = Empty@74 // through LazyPackageFragmentScopeForJavaPackage@69
functions('NullPointerException': Name@71) = EmptyList@75[empty] // through LazyPackageFragmentScopeForJavaPackage@69
functions('equals': Name@72) = EmptyList@75[empty] // through LazyPackageFragmentScopeForJavaPackage@69
functions('lang': Name@76) = EmptyList@75[empty] // through LazyPackageFragmentScopeForJavaPackage@69
memberIndex = computeMemberIndex$1@77 // through LazyPackageFragmentScopeForJavaPackage@69
classes('size': Name@74) = null // through LazyPackageFragmentScopeForJavaPackage@69
deserializedPackageScope = Empty@75 // through LazyPackageFragmentScopeForJavaPackage@69
functions('NullPointerException': Name@71) = EmptyList@76[empty] // through LazyPackageFragmentScopeForJavaPackage@69
functions('equals': Name@72) = EmptyList@76[empty] // through LazyPackageFragmentScopeForJavaPackage@69
functions('lang': Name@77) = EmptyList@76[empty] // through LazyPackageFragmentScopeForJavaPackage@69
functions('size': Name@74) = EmptyList@76[empty] // through LazyPackageFragmentScopeForJavaPackage@69
memberIndex = computeMemberIndex$1@78 // through LazyPackageFragmentScopeForJavaPackage@69
}
LazyJavaPackageFragment@54['lang'] {
classes('Class': Name@78) = LazyJavaClassDescriptor@2['Class'] // through LazyPackageFragmentScopeForJavaPackage@79
classes('NullPointerException': Name@71) = LazyJavaClassDescriptor@6['NullPointerException'] // through LazyPackageFragmentScopeForJavaPackage@79
classes('equals': Name@72) = null // through LazyPackageFragmentScopeForJavaPackage@79
classes('lang': Name@80) = null // through LazyPackageFragmentScopeForJavaPackage@79
deserializedPackageScope = Empty@74 // through LazyPackageFragmentScopeForJavaPackage@79
functions('NullPointerException': Name@71) = EmptyList@75[empty] // through LazyPackageFragmentScopeForJavaPackage@79
functions('equals': Name@72) = EmptyList@75[empty] // through LazyPackageFragmentScopeForJavaPackage@79
memberIndex = computeMemberIndex$1@81 // through LazyPackageFragmentScopeForJavaPackage@79
classes('Class': Name@79) = LazyJavaClassDescriptor@2['Class'] // through LazyPackageFragmentScopeForJavaPackage@80
classes('NullPointerException': Name@71) = LazyJavaClassDescriptor@6['NullPointerException'] // through LazyPackageFragmentScopeForJavaPackage@80
classes('equals': Name@72) = null // through LazyPackageFragmentScopeForJavaPackage@80
classes('lang': Name@81) = null // through LazyPackageFragmentScopeForJavaPackage@80
classes('size': Name@74) = null // through LazyPackageFragmentScopeForJavaPackage@80
deserializedPackageScope = Empty@75 // through LazyPackageFragmentScopeForJavaPackage@80
functions('NullPointerException': Name@71) = EmptyList@76[empty] // through LazyPackageFragmentScopeForJavaPackage@80
functions('equals': Name@72) = EmptyList@76[empty] // through LazyPackageFragmentScopeForJavaPackage@80
functions('size': Name@74) = EmptyList@76[empty] // through LazyPackageFragmentScopeForJavaPackage@80
memberIndex = computeMemberIndex$1@82 // through LazyPackageFragmentScopeForJavaPackage@80
}
LazyJavaTypeParameterDescriptor@16['T'] {
typeConstructor = AbstractLazyTypeParameterDescriptor$1@82
upperBounds = LinkedHashSet@83[1] { NullableType@84 }
upperBoundsAsType = NullableType@84
typeConstructor = AbstractLazyTypeParameterDescriptor$1@83
upperBounds = LinkedHashSet@84[1] { NullableType@85 }
upperBoundsAsType = NullableType@85
}
LazyJavaTypeParameterResolver@85 {
resolve(JavaTypeParameterImpl@86['T']) = LazyJavaTypeParameterDescriptor@16['T']
LazyJavaTypeParameterResolver@86 {
resolve(JavaTypeParameterImpl@87['T']) = LazyJavaTypeParameterDescriptor@16['T']
}
@@ -4,6 +4,6 @@ fun main(args : Array<String>) {
var ints : Array<Int?> = arrayOfNulls<Int>(31)
ints[0] = 4; ints[11] = 5; ints[2] =7
for(i in 0..ints.size)
for(i in 0..ints.size())
ints[i<!SYNTAX!><!>
}
@@ -35,6 +35,7 @@ LazyJavaPackageFragment@13['lang'] {
classes('next': Name@34) = null // through LazyPackageFragmentScopeForJavaPackage@30
classes('rangeTo': Name@35) = null // through LazyPackageFragmentScopeForJavaPackage@30
classes('set': Name@36) = null // through LazyPackageFragmentScopeForJavaPackage@30
classes('size': Name@37) = null // through LazyPackageFragmentScopeForJavaPackage@30
deserializedPackageScope = Empty@25 // through LazyPackageFragmentScopeForJavaPackage@30
functions('arrayOfNulls': Name@29) = EmptyList@27[empty] // through LazyPackageFragmentScopeForJavaPackage@30
functions('get': Name@31) = EmptyList@27[empty] // through LazyPackageFragmentScopeForJavaPackage@30
@@ -43,5 +44,6 @@ LazyJavaPackageFragment@13['lang'] {
functions('next': Name@34) = EmptyList@27[empty] // through LazyPackageFragmentScopeForJavaPackage@30
functions('rangeTo': Name@35) = EmptyList@27[empty] // through LazyPackageFragmentScopeForJavaPackage@30
functions('set': Name@36) = EmptyList@27[empty] // through LazyPackageFragmentScopeForJavaPackage@30
memberIndex = computeMemberIndex$1@37 // through LazyPackageFragmentScopeForJavaPackage@30
functions('size': Name@37) = EmptyList@27[empty] // through LazyPackageFragmentScopeForJavaPackage@30
memberIndex = computeMemberIndex$1@38 // through LazyPackageFragmentScopeForJavaPackage@30
}
@@ -2,9 +2,9 @@ package c
import java.util.ArrayList
fun Array<Int>.toIntArray(): IntArray = this.<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>mapTo<!>(IntArray(size), {it})
fun Array<Int>.toIntArray(): IntArray = this.<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED!>mapTo<!>(IntArray(size()), {it})
fun Array<Int>.toArrayList(): ArrayList<Int> = this.mapTo(ArrayList<Int>(size), {it})
fun Array<Int>.toArrayList(): ArrayList<Int> = this.mapTo(ArrayList<Int>(size()), {it})
public fun <T, R, C: MutableCollection<in R>> Array<out T>.mapTo(result: C, transform : (T) -> R) : C =
throw Exception("$result $transform")
@@ -134,45 +134,45 @@ LazyJavaClassifierType@86['E'] {
LazyJavaClassifierType@89['E'] {
arguments = ArrayList@90[empty]
classifier = JavaTypeParameterImpl@84['E']
classifier = JavaTypeParameterImpl@81['E']
nullable = 'true': Boolean@65
typeConstructor = AbstractLazyTypeParameterDescriptor$1@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@78
}
LazyJavaClassifierType@91['E'] {
arguments = ArrayList@92[empty]
classifier = JavaTypeParameterImpl@88['E']
classifier = JavaTypeParameterImpl@77['E']
nullable = 'true': Boolean@65
typeConstructor = AbstractLazyTypeParameterDescriptor$1@78
}
LazyJavaClassifierType@93['E'] {
arguments = ArrayList@94[empty]
classifier = JavaTypeParameterImpl@81['E']
classifier = JavaTypeParameterImpl@73['E']
nullable = 'true': Boolean@65
typeConstructor = AbstractLazyTypeParameterDescriptor$1@78
typeConstructor = AbstractLazyTypeParameterDescriptor$1@74
}
LazyJavaClassifierType@95['E'] {
arguments = ArrayList@96[empty]
classifier = JavaTypeParameterImpl@77['E']
classifier = JavaTypeParameterImpl@88['E']
nullable = 'true': Boolean@65
typeConstructor = AbstractLazyTypeParameterDescriptor$1@78
}
LazyJavaClassifierType@97['E'] {
arguments = ArrayList@98[empty]
classifier = JavaTypeParameterImpl@73['E']
classifier = JavaTypeParameterImpl@84['E']
nullable = 'true': Boolean@65
typeConstructor = AbstractLazyTypeParameterDescriptor$1@74
typeConstructor = AbstractLazyTypeParameterDescriptor$1@85
}
LazyJavaClassifierType@37['List<E>'] {
LazyJavaClassifierType@32['List<E>'] {
classifier = JavaClassImpl@99['List']
typeConstructor = DeserializedClassTypeConstructor@100
}
LazyJavaClassifierType@32['List<E>'] {
LazyJavaClassifierType@37['List<E>'] {
classifier = JavaClassImpl@101['List']
typeConstructor = DeserializedClassTypeConstructor@100
}
@@ -232,14 +232,14 @@ LazyJavaClassifierType@122['String'] {
LazyJavaClassifierType@124['String'] {
arguments = ArrayList@125[empty]
classifier = JavaClassImpl@118['String']
classifier = JavaClassImpl@114['String']
nullable = 'true': Boolean@65
typeConstructor = DeserializedClassTypeConstructor@115
}
LazyJavaClassifierType@126['String'] {
arguments = ArrayList@127[empty]
classifier = JavaClassImpl@114['String']
classifier = JavaClassImpl@118['String']
nullable = 'true': Boolean@65
typeConstructor = DeserializedClassTypeConstructor@115
}
@@ -267,14 +267,14 @@ LazyJavaClassifierType@135['Throwable'] {
LazyJavaClassifierType@138['Throwable'] {
arguments = ArrayList@139[empty]
classifier = JavaClassImpl@130['Throwable']
classifier = JavaClassImpl@134['Throwable']
nullable = 'true': Boolean@65
typeConstructor = DeserializedClassTypeConstructor@131
}
LazyJavaClassifierType@140['Throwable'] {
arguments = ArrayList@141[empty]
classifier = JavaClassImpl@134['Throwable']
classifier = JavaClassImpl@130['Throwable']
nullable = 'true': Boolean@65
typeConstructor = DeserializedClassTypeConstructor@131
}
@@ -363,6 +363,7 @@ LazyJavaPackageFragment@171['lang'] {
functions('Exception': Name@206) = EmptyList@201[empty] // through LazyPackageFragmentScopeForJavaPackage@205
functions('IntArray': Name@207) = EmptyList@201[empty] // through LazyPackageFragmentScopeForJavaPackage@205
functions('mapTo': Name@208) = EmptyList@201[empty] // through LazyPackageFragmentScopeForJavaPackage@205
functions('size': Name@209) = EmptyList@201[empty] // through LazyPackageFragmentScopeForJavaPackage@205
memberIndex = computeMemberIndex$1@210 // through LazyPackageFragmentScopeForJavaPackage@205
}
@@ -380,11 +381,11 @@ LazyJavaTypeParameterDescriptor@34['E'] {
}
LazyJavaTypeParameterDescriptor@25['E'] {
typeConstructor = AbstractLazyTypeParameterDescriptor$1@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@74
}
LazyJavaTypeParameterDescriptor@29['E'] {
typeConstructor = AbstractLazyTypeParameterDescriptor$1@74
typeConstructor = AbstractLazyTypeParameterDescriptor$1@85
}
LazyJavaTypeParameterResolver@218 {
@@ -392,9 +393,9 @@ LazyJavaTypeParameterResolver@218 {
}
LazyJavaTypeParameterResolver@220 {
resolve(JavaTypeParameterImpl@221['E']) = LazyJavaTypeParameterDescriptor@34['E']
resolve(JavaTypeParameterImpl@84['E']) = LazyJavaTypeParameterDescriptor@29['E']
}
LazyJavaTypeParameterResolver@222 {
resolve(JavaTypeParameterImpl@73['E']) = LazyJavaTypeParameterDescriptor@29['E']
LazyJavaTypeParameterResolver@221 {
resolve(JavaTypeParameterImpl@222['E']) = LazyJavaTypeParameterDescriptor@34['E']
}
@@ -20,7 +20,7 @@ fun test() {
// ---------------------
// copy from kotlin util
fun arrayList<T>(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size))
fun arrayList<T>(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size()))
fun <T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
for (element in this) result.add(element)
@@ -103,63 +103,63 @@ LazyJavaClassifierType@68['E'] {
arguments = ArrayList@69[empty]
classifier = JavaTypeParameterImpl@70['E']
nullable = 'false': Boolean@48
typeConstructor = AbstractLazyTypeParameterDescriptor$1@71
}
LazyJavaClassifierType@72['E'] {
arguments = ArrayList@73[empty]
classifier = JavaTypeParameterImpl@74['E']
nullable = 'false': Boolean@48
typeConstructor = AbstractLazyTypeParameterDescriptor$1@71
}
LazyJavaClassifierType@75['E'] {
arguments = ArrayList@76[empty]
classifier = JavaTypeParameterImpl@77['E']
nullable = 'false': Boolean@48
typeConstructor = AbstractLazyTypeParameterDescriptor$1@63
}
LazyJavaClassifierType@71['E'] {
arguments = ArrayList@72[empty]
classifier = JavaTypeParameterImpl@73['E']
LazyJavaClassifierType@78['E'] {
arguments = ArrayList@79[empty]
classifier = JavaTypeParameterImpl@80['E']
nullable = 'false': Boolean@48
typeConstructor = AbstractLazyTypeParameterDescriptor$1@67
}
LazyJavaClassifierType@74['E'] {
arguments = ArrayList@75[empty]
classifier = JavaTypeParameterImpl@76['E']
nullable = 'false': Boolean@48
typeConstructor = AbstractLazyTypeParameterDescriptor$1@67
}
LazyJavaClassifierType@77['E'] {
arguments = ArrayList@78[empty]
classifier = JavaTypeParameterImpl@79['E']
nullable = 'false': Boolean@48
typeConstructor = AbstractLazyTypeParameterDescriptor$1@80
typeConstructor = AbstractLazyTypeParameterDescriptor$1@63
}
LazyJavaClassifierType@81['E'] {
arguments = ArrayList@82[empty]
classifier = JavaTypeParameterImpl@70['E']
classifier = JavaTypeParameterImpl@77['E']
nullable = 'true': Boolean@54
typeConstructor = AbstractLazyTypeParameterDescriptor$1@63
}
LazyJavaClassifierType@83['E'] {
arguments = ArrayList@84[empty]
classifier = JavaTypeParameterImpl@79['E']
classifier = JavaTypeParameterImpl@74['E']
nullable = 'true': Boolean@54
typeConstructor = AbstractLazyTypeParameterDescriptor$1@80
typeConstructor = AbstractLazyTypeParameterDescriptor$1@71
}
LazyJavaClassifierType@85['E'] {
arguments = ArrayList@86[empty]
classifier = JavaTypeParameterImpl@76['E']
classifier = JavaTypeParameterImpl@62['E']
nullable = 'true': Boolean@54
typeConstructor = AbstractLazyTypeParameterDescriptor$1@67
typeConstructor = AbstractLazyTypeParameterDescriptor$1@63
}
LazyJavaClassifierType@87['E'] {
arguments = ArrayList@88[empty]
classifier = JavaTypeParameterImpl@73['E']
classifier = JavaTypeParameterImpl@80['E']
nullable = 'true': Boolean@54
typeConstructor = AbstractLazyTypeParameterDescriptor$1@67
typeConstructor = AbstractLazyTypeParameterDescriptor$1@63
}
LazyJavaClassifierType@89['E'] {
arguments = ArrayList@90[empty]
classifier = JavaTypeParameterImpl@62['E']
classifier = JavaTypeParameterImpl@70['E']
nullable = 'true': Boolean@54
typeConstructor = AbstractLazyTypeParameterDescriptor$1@63
typeConstructor = AbstractLazyTypeParameterDescriptor$1@71
}
LazyJavaClassifierType@91['E'] {
@@ -296,7 +296,8 @@ LazyJavaPackageFragment@139['lang'] {
classes('iterator': Name@195) = null // through LazyPackageFragmentScopeForJavaPackage@190
classes('next': Name@196) = null // through LazyPackageFragmentScopeForJavaPackage@190
classes('nil': Name@197) = null // through LazyPackageFragmentScopeForJavaPackage@190
classes('toCollection': Name@198) = null // through LazyPackageFragmentScopeForJavaPackage@190
classes('size': Name@198) = null // through LazyPackageFragmentScopeForJavaPackage@190
classes('toCollection': Name@199) = null // through LazyPackageFragmentScopeForJavaPackage@190
deserializedPackageScope = Empty@184 // through LazyPackageFragmentScopeForJavaPackage@190
functions('ArrayList': Name@189) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@190
functions('add': Name@191) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@190
@@ -306,61 +307,64 @@ LazyJavaPackageFragment@139['lang'] {
functions('iterator': Name@195) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@190
functions('next': Name@196) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@190
functions('nil': Name@197) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@190
functions('toCollection': Name@198) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@190
memberIndex = computeMemberIndex$1@199 // through LazyPackageFragmentScopeForJavaPackage@190
functions('size': Name@198) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@190
functions('toCollection': Name@199) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@190
memberIndex = computeMemberIndex$1@200 // through LazyPackageFragmentScopeForJavaPackage@190
}
LazyJavaPackageFragment@152['util'] {
classes('Any': Name@200) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('Array': Name@202) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('ArrayList': Name@203) = LazyJavaClassDescriptor@4['ArrayList'] // through LazyPackageFragmentScopeForJavaPackage@201
classes('Int': Name@204) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('List': Name@205) = LazyJavaClassDescriptor@180['List'] // through LazyPackageFragmentScopeForJavaPackage@201
classes('MutableCollection': Name@206) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('String': Name@207) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('add': Name@191) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('arrayList': Name@192) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('cons': Name@193) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('hasNext': Name@194) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('iterator': Name@195) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('next': Name@196) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('nil': Name@197) = null // through LazyPackageFragmentScopeForJavaPackage@201
classes('toCollection': Name@198) = null // through LazyPackageFragmentScopeForJavaPackage@201
deserializedPackageScope = Empty@184 // through LazyPackageFragmentScopeForJavaPackage@201
functions('ArrayList': Name@189) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
functions('add': Name@191) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
functions('arrayList': Name@192) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
functions('cons': Name@193) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
functions('hasNext': Name@194) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
functions('iterator': Name@195) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
functions('next': Name@196) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
functions('nil': Name@197) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
functions('toCollection': Name@198) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@201
memberIndex = computeMemberIndex$1@208 // through LazyPackageFragmentScopeForJavaPackage@201
classes('Any': Name@201) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('Array': Name@203) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('ArrayList': Name@204) = LazyJavaClassDescriptor@4['ArrayList'] // through LazyPackageFragmentScopeForJavaPackage@202
classes('Int': Name@205) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('List': Name@206) = LazyJavaClassDescriptor@180['List'] // through LazyPackageFragmentScopeForJavaPackage@202
classes('MutableCollection': Name@207) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('String': Name@208) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('add': Name@191) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('arrayList': Name@192) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('cons': Name@193) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('hasNext': Name@194) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('iterator': Name@195) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('next': Name@196) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('nil': Name@197) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('size': Name@198) = null // through LazyPackageFragmentScopeForJavaPackage@202
classes('toCollection': Name@199) = null // through LazyPackageFragmentScopeForJavaPackage@202
deserializedPackageScope = Empty@184 // through LazyPackageFragmentScopeForJavaPackage@202
functions('ArrayList': Name@189) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('add': Name@191) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('arrayList': Name@192) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('cons': Name@193) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('hasNext': Name@194) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('iterator': Name@195) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('next': Name@196) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('nil': Name@197) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('size': Name@198) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
functions('toCollection': Name@199) = EmptyList@186[empty] // through LazyPackageFragmentScopeForJavaPackage@202
memberIndex = computeMemberIndex$1@209 // through LazyPackageFragmentScopeForJavaPackage@202
}
LazyJavaTypeParameterDescriptor@26['E'] {
defaultType = JetTypeImpl@209['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@67
upperBounds = LinkedHashSet@210[1] { NullableType@211 }
}
LazyJavaTypeParameterDescriptor@21['E'] {
defaultType = JetTypeImpl@210['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@63
upperBounds = LinkedHashSet@211[1] { NullableType@212 }
}
LazyJavaTypeParameterDescriptor@17['E'] {
typeConstructor = AbstractLazyTypeParameterDescriptor$1@80
typeConstructor = AbstractLazyTypeParameterDescriptor$1@67
}
LazyJavaTypeParameterResolver@212 {
resolve(JavaTypeParameterImpl@213['E']) = LazyJavaTypeParameterDescriptor@17['E']
LazyJavaTypeParameterDescriptor@21['E'] {
typeConstructor = AbstractLazyTypeParameterDescriptor$1@71
}
LazyJavaTypeParameterResolver@213 {
resolve(JavaTypeParameterImpl@74['E']) = LazyJavaTypeParameterDescriptor@21['E']
}
LazyJavaTypeParameterResolver@214 {
resolve(JavaTypeParameterImpl@70['E']) = LazyJavaTypeParameterDescriptor@21['E']
resolve(JavaTypeParameterImpl@215['E']) = LazyJavaTypeParameterDescriptor@26['E']
}
LazyJavaTypeParameterResolver@215 {
resolve(JavaTypeParameterImpl@216['E']) = LazyJavaTypeParameterDescriptor@26['E']
LazyJavaTypeParameterResolver@216 {
resolve(JavaTypeParameterImpl@217['E']) = LazyJavaTypeParameterDescriptor@17['E']
}
@@ -23,7 +23,7 @@ fun test() {
//------------
fun arrayList<T>(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size))
fun arrayList<T>(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size()))
fun <T, R> Collection<T>.map(transform : (T) -> R) : List<R> {
return mapTo(java.util.ArrayList<R>(this.size), transform)
@@ -25,7 +25,7 @@ fun testSomeFunction() {
fun assertEquals(<!UNUSED_PARAMETER!>expected<!>: Any?, <!UNUSED_PARAMETER!>actual<!>: Any?, <!UNUSED_PARAMETER!>message<!>: String = "") {
}
fun arrayList<T>(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size))
fun arrayList<T>(vararg values: T) : ArrayList<T> = values.toCollection(ArrayList<T>(values.size()))
fun <T, C: MutableCollection<in T>> Array<T>.toCollection(result: C) : C {
for (element in this) result.add(element)
@@ -132,91 +132,91 @@ LazyJavaClassifierType@102['E'] {
arguments = ArrayList@103[empty]
classifier = JavaTypeParameterImpl@104['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
}
LazyJavaClassifierType@105['E'] {
arguments = ArrayList@106[empty]
classifier = JavaTypeParameterImpl@107['E']
LazyJavaClassifierType@106['E'] {
arguments = ArrayList@107[empty]
classifier = JavaTypeParameterImpl@108['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
}
LazyJavaClassifierType@109['E'] {
arguments = ArrayList@110[empty]
classifier = JavaTypeParameterImpl@111['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
}
LazyJavaClassifierType@112['E'] {
arguments = ArrayList@113[empty]
classifier = JavaTypeParameterImpl@114['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@115['E'] {
arguments = ArrayList@116[empty]
classifier = JavaTypeParameterImpl@117['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@118['E'] {
arguments = ArrayList@119[empty]
classifier = JavaTypeParameterImpl@120['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@121['E'] {
arguments = ArrayList@122[empty]
classifier = JavaTypeParameterImpl@123['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@124['E'] {
arguments = ArrayList@125[empty]
classifier = JavaTypeParameterImpl@126['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
}
LazyJavaClassifierType@127['E'] {
arguments = ArrayList@128[empty]
classifier = JavaTypeParameterImpl@129['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@130['E'] {
arguments = ArrayList@131[empty]
classifier = JavaTypeParameterImpl@132['E']
nullable = 'false': Boolean@82
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
}
LazyJavaClassifierType@133['E'] {
arguments = ArrayList@134[empty]
classifier = JavaTypeParameterImpl@96['E']
classifier = JavaTypeParameterImpl@123['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@135['E'] {
arguments = ArrayList@136[empty]
classifier = JavaTypeParameterImpl@126['E']
classifier = JavaTypeParameterImpl@132['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
}
LazyJavaClassifierType@137['E'] {
arguments = ArrayList@138[empty]
classifier = JavaTypeParameterImpl@114['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@139['E'] {
@@ -228,68 +228,68 @@ LazyJavaClassifierType@139['E'] {
LazyJavaClassifierType@141['E'] {
arguments = ArrayList@142[empty]
classifier = JavaTypeParameterImpl@104['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@143['E'] {
arguments = ArrayList@144[empty]
classifier = JavaTypeParameterImpl@117['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
}
LazyJavaClassifierType@145['E'] {
arguments = ArrayList@146[empty]
classifier = JavaTypeParameterImpl@129['E']
classifier = JavaTypeParameterImpl@96['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
}
LazyJavaClassifierType@143['E'] {
arguments = ArrayList@144[empty]
classifier = JavaTypeParameterImpl@111['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
}
LazyJavaClassifierType@145['E'] {
arguments = ArrayList@146[empty]
classifier = JavaTypeParameterImpl@117['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@147['E'] {
arguments = ArrayList@148[empty]
classifier = JavaTypeParameterImpl@123['E']
classifier = JavaTypeParameterImpl@108['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
}
LazyJavaClassifierType@149['E'] {
arguments = ArrayList@150[empty]
classifier = JavaTypeParameterImpl@111['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
}
LazyJavaClassifierType@151['E'] {
arguments = ArrayList@152[empty]
classifier = JavaTypeParameterImpl@120['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
}
LazyJavaClassifierType@153['E'] {
arguments = ArrayList@154[empty]
classifier = JavaTypeParameterImpl@107['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
}
LazyJavaClassifierType@155['E'] {
arguments = ArrayList@156[empty]
classifier = JavaTypeParameterImpl@132['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@52['List<E>'] {
LazyJavaClassifierType@151['E'] {
arguments = ArrayList@152[empty]
classifier = JavaTypeParameterImpl@129['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
}
LazyJavaClassifierType@153['E'] {
arguments = ArrayList@154[empty]
classifier = JavaTypeParameterImpl@104['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
}
LazyJavaClassifierType@155['E'] {
arguments = ArrayList@156[empty]
classifier = JavaTypeParameterImpl@126['E']
nullable = 'true': Boolean@88
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
}
LazyJavaClassifierType@57['List<E>'] {
arguments = ArrayList@157[1] { TypeProjectionImpl@158 }
classifier = JavaClassImpl@159['List']
memberScope = SubstitutingScope@160
typeConstructor = DeserializedClassTypeConstructor@161
}
LazyJavaClassifierType@57['List<E>'] {
LazyJavaClassifierType@52['List<E>'] {
arguments = ArrayList@162[1] { TypeProjectionImpl@163 }
classifier = JavaClassImpl@164['List']
memberScope = SubstitutingScope@165
@@ -412,9 +412,10 @@ LazyJavaPackageFragment@207['lang'] {
classes('invoke': Name@259) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('iterator': Name@260) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('next': Name@261) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('someFunction': Name@262) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('toCollection': Name@263) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('transform': Name@264) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('size': Name@262) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('someFunction': Name@263) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('toCollection': Name@264) = null // through LazyPackageFragmentScopeForJavaPackage@254
classes('transform': Name@265) = null // through LazyPackageFragmentScopeForJavaPackage@254
deserializedPackageScope = Empty@249 // through LazyPackageFragmentScopeForJavaPackage@254
functions('ArrayList': Name@253) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('add': Name@7) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
@@ -425,96 +426,99 @@ LazyJavaPackageFragment@207['lang'] {
functions('invoke': Name@259) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('iterator': Name@260) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('next': Name@261) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('someFunction': Name@262) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('toCollection': Name@263) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('transform': Name@264) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
memberIndex = computeMemberIndex$1@265 // through LazyPackageFragmentScopeForJavaPackage@254
functions('size': Name@262) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('someFunction': Name@263) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('toCollection': Name@264) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
functions('transform': Name@265) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@254
memberIndex = computeMemberIndex$1@266 // through LazyPackageFragmentScopeForJavaPackage@254
}
LazyJavaPackageFragment@219['util'] {
classes('Any': Name@266) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('Array': Name@268) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('ArrayList': Name@269) = LazyJavaClassDescriptor@21['ArrayList'] // through LazyPackageFragmentScopeForJavaPackage@267
classes('Int': Name@270) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('List': Name@271) = LazyJavaClassDescriptor@245['List'] // through LazyPackageFragmentScopeForJavaPackage@267
classes('MutableCollection': Name@272) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('String': Name@273) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('add': Name@7) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('arrayList': Name@255) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('assertEquals': Name@256) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('get': Name@257) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('hasNext': Name@258) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('invoke': Name@259) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('iterator': Name@260) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('next': Name@261) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('someFunction': Name@262) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('toCollection': Name@263) = null // through LazyPackageFragmentScopeForJavaPackage@267
classes('transform': Name@264) = null // through LazyPackageFragmentScopeForJavaPackage@267
deserializedPackageScope = Empty@249 // through LazyPackageFragmentScopeForJavaPackage@267
functions('ArrayList': Name@253) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('add': Name@7) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('arrayList': Name@255) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('assertEquals': Name@256) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('get': Name@257) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('hasNext': Name@258) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('invoke': Name@259) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('iterator': Name@260) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('next': Name@261) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('someFunction': Name@262) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('toCollection': Name@263) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
functions('transform': Name@264) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@267
memberIndex = computeMemberIndex$1@274 // through LazyPackageFragmentScopeForJavaPackage@267
}
LazyJavaTypeParameterDescriptor@45['E'] {
defaultType = JetTypeImpl@275['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
upperBounds = LinkedHashSet@276[1] { NullableType@277 }
upperBoundsAsType = NullableType@277
}
LazyJavaTypeParameterDescriptor@54['E'] {
defaultType = JetTypeImpl@278['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
upperBounds = LinkedHashSet@279[1] { NullableType@280 }
upperBoundsAsType = NullableType@280
classes('Any': Name@267) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('Array': Name@269) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('ArrayList': Name@270) = LazyJavaClassDescriptor@21['ArrayList'] // through LazyPackageFragmentScopeForJavaPackage@268
classes('Int': Name@271) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('List': Name@272) = LazyJavaClassDescriptor@245['List'] // through LazyPackageFragmentScopeForJavaPackage@268
classes('MutableCollection': Name@273) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('String': Name@274) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('add': Name@7) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('arrayList': Name@255) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('assertEquals': Name@256) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('get': Name@257) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('hasNext': Name@258) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('invoke': Name@259) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('iterator': Name@260) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('next': Name@261) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('size': Name@262) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('someFunction': Name@263) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('toCollection': Name@264) = null // through LazyPackageFragmentScopeForJavaPackage@268
classes('transform': Name@265) = null // through LazyPackageFragmentScopeForJavaPackage@268
deserializedPackageScope = Empty@249 // through LazyPackageFragmentScopeForJavaPackage@268
functions('ArrayList': Name@253) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('add': Name@7) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('arrayList': Name@255) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('assertEquals': Name@256) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('get': Name@257) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('hasNext': Name@258) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('invoke': Name@259) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('iterator': Name@260) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('next': Name@261) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('size': Name@262) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('someFunction': Name@263) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('toCollection': Name@264) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
functions('transform': Name@265) = EmptyList@8[empty] // through LazyPackageFragmentScopeForJavaPackage@268
memberIndex = computeMemberIndex$1@275 // through LazyPackageFragmentScopeForJavaPackage@268
}
LazyJavaTypeParameterDescriptor@49['E'] {
defaultType = JetTypeImpl@281['E']
defaultType = JetTypeImpl@276['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@105
upperBounds = LinkedHashSet@277[1] { NullableType@278 }
upperBoundsAsType = NullableType@278
}
LazyJavaTypeParameterDescriptor@45['E'] {
defaultType = JetTypeImpl@279['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@97
upperBounds = LinkedHashSet@280[1] { NullableType@281 }
upperBoundsAsType = NullableType@281
}
LazyJavaTypeParameterDescriptor@54['E'] {
defaultType = JetTypeImpl@282['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@101
upperBounds = LinkedHashSet@282[1] { NullableType@283 }
upperBoundsAsType = NullableType@283
upperBounds = LinkedHashSet@283[1] { NullableType@284 }
upperBoundsAsType = NullableType@284
}
LazyJavaTypeParameterResolver@284 {
resolve(JavaTypeParameterImpl@285['E']) = LazyJavaTypeParameterDescriptor@54['E']
LazyJavaTypeParameterResolver@285 {
resolve(JavaTypeParameterImpl@286['E']) = LazyJavaTypeParameterDescriptor@45['E']
}
LazyJavaTypeParameterResolver@286 {
resolve(JavaTypeParameterImpl@287['E']) = LazyJavaTypeParameterDescriptor@49['E']
LazyJavaTypeParameterResolver@287 {
resolve(JavaTypeParameterImpl@288['E']) = LazyJavaTypeParameterDescriptor@54['E']
}
LazyJavaTypeParameterResolver@288 {
resolve(JavaTypeParameterImpl@289['E']) = LazyJavaTypeParameterDescriptor@45['E']
}
LazyJavaTypeParameterResolver@290 {
resolve(JavaTypeParameterImpl@114['E']) = null
LazyJavaTypeParameterResolver@289 {
resolve(JavaTypeParameterImpl@290['E']) = LazyJavaTypeParameterDescriptor@49['E']
}
LazyJavaTypeParameterResolver@291 {
resolve(JavaTypeParameterImpl@132['E']) = null
resolve(JavaTypeParameterImpl@108['E']) = null
}
LazyJavaTypeParameterResolver@292 {
resolve(JavaTypeParameterImpl@96['E']) = null
resolve(JavaTypeParameterImpl@132['E']) = null
}
LazyJavaTypeParameterResolver@293 {
resolve(JavaTypeParameterImpl@107['E']) = null
resolve(JavaTypeParameterImpl@129['E']) = null
}
LazyJavaTypeParameterResolver@294 {
resolve(JavaTypeParameterImpl@104['E']) = null
}
LazyJavaTypeParameterResolver@295 {
resolve(JavaTypeParameterImpl@123['E']) = null
}
+2 -2
View File
@@ -1,3 +1,3 @@
fun f(c: Array<Int>): Int {
return c.<!FUNCTION_EXPECTED!>size<!>()
fun f(c: String): Int {
return c.<!FUNCTION_EXPECTED!>length<!>()
}
@@ -1,26 +1,26 @@
LazyJavaPackageFragmentProvider@0 {
packageFragments('<root>': FqName@1) = LazyJavaPackageFragment@2['<root>']
packageFragments('Array': FqName@3) = null
packageFragments('Int': FqName@4) = null
packageFragments('Int': FqName@3) = null
packageFragments('String': FqName@4) = null
packageFragments('java': FqName@5) = LazyJavaPackageFragment@6['java']
packageFragments('java.lang': FqName@7) = LazyJavaPackageFragment@8['lang']
packageFragments('java.lang.Array': FqName@9) = null
packageFragments('java.lang.Int': FqName@10) = null
packageFragments('java.lang.Int': FqName@9) = null
packageFragments('java.lang.String': FqName@10) = null
packageFragments('kotlin': FqName@11) = null
packageFragments('kotlin.Array': FqName@12) = null
packageFragments('kotlin.Int': FqName@13) = null
packageFragments('kotlin.Int': FqName@12) = null
packageFragments('kotlin.String': FqName@13) = null
packageFragments('kotlin.io': FqName@14) = null
packageFragments('kotlin.jvm': FqName@15) = null
}
LazyJavaPackageFragment@2['<root>'] {
classes('Array': Name@16) = null // through LazyPackageFragmentScopeForJavaPackage@17
classes('Int': Name@18) = null // through LazyPackageFragmentScopeForJavaPackage@17
classes('Int': Name@16) = null // through LazyPackageFragmentScopeForJavaPackage@17
classes('String': Name@18) = null // through LazyPackageFragmentScopeForJavaPackage@17
classes('invoke': Name@19) = null // through LazyPackageFragmentScopeForJavaPackage@17
classes('size': Name@20) = null // through LazyPackageFragmentScopeForJavaPackage@17
classes('length': Name@20) = null // through LazyPackageFragmentScopeForJavaPackage@17
deserializedPackageScope = Empty@21 // through LazyPackageFragmentScopeForJavaPackage@17
functions('invoke': Name@19) = EmptyList@22[empty] // through LazyPackageFragmentScopeForJavaPackage@17
functions('size': Name@20) = EmptyList@22[empty] // through LazyPackageFragmentScopeForJavaPackage@17
functions('length': Name@20) = EmptyList@22[empty] // through LazyPackageFragmentScopeForJavaPackage@17
memberIndex = computeMemberIndex$1@23 // through LazyPackageFragmentScopeForJavaPackage@17
}
@@ -33,9 +33,9 @@ LazyJavaPackageFragment@6['java'] {
LazyJavaPackageFragment@8['lang'] {
classes('invoke': Name@19) = null // through LazyPackageFragmentScopeForJavaPackage@28
classes('size': Name@20) = null // through LazyPackageFragmentScopeForJavaPackage@28
classes('length': Name@20) = null // through LazyPackageFragmentScopeForJavaPackage@28
deserializedPackageScope = Empty@21 // through LazyPackageFragmentScopeForJavaPackage@28
functions('invoke': Name@19) = EmptyList@22[empty] // through LazyPackageFragmentScopeForJavaPackage@28
functions('size': Name@20) = EmptyList@22[empty] // through LazyPackageFragmentScopeForJavaPackage@28
functions('length': Name@20) = EmptyList@22[empty] // through LazyPackageFragmentScopeForJavaPackage@28
memberIndex = computeMemberIndex$1@29 // through LazyPackageFragmentScopeForJavaPackage@28
}
@@ -1,3 +1,3 @@
package
package
internal fun f(/*0*/ c: kotlin.Array<kotlin.Int>): kotlin.Int
internal fun f(/*0*/ c: kotlin.String): kotlin.Int
@@ -1,7 +1,7 @@
// KT-312 Nullability problem when a nullable version of a generic type is returned
fun <T> Array<out T>.safeGet(index : Int) : T<!BASE_WITH_NULLABLE_UPPER_BOUND!>?<!> {
return if (index < size) this[index] else null
return if (index < size()) this[index] else null
}
val args : Array<String> = Array<String>(1, {""})
@@ -41,6 +41,7 @@ LazyJavaPackageFragment@3['<root>'] {
functions('compareTo': Name@31) = EmptyList@37[empty] // through LazyPackageFragmentScopeForJavaPackage@27
functions('get': Name@32) = EmptyList@37[empty] // through LazyPackageFragmentScopeForJavaPackage@27
functions('safeGet': Name@33) = EmptyList@37[empty] // through LazyPackageFragmentScopeForJavaPackage@27
functions('size': Name@34) = EmptyList@37[empty] // through LazyPackageFragmentScopeForJavaPackage@27
memberIndex = computeMemberIndex$1@38 // through LazyPackageFragmentScopeForJavaPackage@27
}
@@ -63,5 +64,6 @@ LazyJavaPackageFragment@12['lang'] {
functions('compareTo': Name@31) = EmptyList@37[empty] // through LazyPackageFragmentScopeForJavaPackage@43
functions('get': Name@32) = EmptyList@37[empty] // through LazyPackageFragmentScopeForJavaPackage@43
functions('safeGet': Name@33) = EmptyList@37[empty] // through LazyPackageFragmentScopeForJavaPackage@43
functions('size': Name@34) = EmptyList@37[empty] // through LazyPackageFragmentScopeForJavaPackage@43
memberIndex = computeMemberIndex$1@44 // through LazyPackageFragmentScopeForJavaPackage@43
}
@@ -17,5 +17,5 @@ fun main() {
}
}
fun <T> Array<T>.lastIndex() = size - 1
val <T> Array<T>.lastIndex : Int get() = size - 1
fun <T> Array<T>.lastIndex() = size() - 1
val <T> Array<T>.lastIndex : Int get() = size() - 1
@@ -129,21 +129,21 @@ LazyJavaClassifierType@101['E'] {
arguments = ArrayList@102[empty]
classifier = JavaTypeParameterImpl@103['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@104
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@105['E'] {
arguments = ArrayList@106[empty]
classifier = JavaTypeParameterImpl@107['E']
LazyJavaClassifierType@104['E'] {
arguments = ArrayList@105[empty]
classifier = JavaTypeParameterImpl@106['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@107
}
LazyJavaClassifierType@109['E'] {
arguments = ArrayList@110[empty]
classifier = JavaTypeParameterImpl@111['E']
LazyJavaClassifierType@108['E'] {
arguments = ArrayList@109[empty]
classifier = JavaTypeParameterImpl@110['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
}
LazyJavaClassifierType@112['E'] {
@@ -157,7 +157,7 @@ LazyJavaClassifierType@115['E'] {
arguments = ArrayList@116[empty]
classifier = JavaTypeParameterImpl@117['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@118['E'] {
@@ -171,129 +171,129 @@ LazyJavaClassifierType@121['E'] {
arguments = ArrayList@122[empty]
classifier = JavaTypeParameterImpl@123['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@124['E'] {
arguments = ArrayList@125[empty]
classifier = JavaTypeParameterImpl@126['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@107
}
LazyJavaClassifierType@127['E'] {
arguments = ArrayList@128[empty]
classifier = JavaTypeParameterImpl@129['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@104
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
}
LazyJavaClassifierType@130['E'] {
arguments = ArrayList@131[empty]
classifier = JavaTypeParameterImpl@132['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
}
LazyJavaClassifierType@133['E'] {
arguments = ArrayList@134[empty]
classifier = JavaTypeParameterImpl@135['E']
nullable = 'false': Boolean@85
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
}
LazyJavaClassifierType@136['E'] {
arguments = ArrayList@137[empty]
classifier = JavaTypeParameterImpl@103['E']
classifier = JavaTypeParameterImpl@126['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@104
typeConstructor = AbstractLazyTypeParameterDescriptor$1@107
}
LazyJavaClassifierType@138['E'] {
arguments = ArrayList@139[empty]
classifier = JavaTypeParameterImpl@132['E']
classifier = JavaTypeParameterImpl@117['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@140['E'] {
arguments = ArrayList@141[empty]
classifier = JavaTypeParameterImpl@117['E']
classifier = JavaTypeParameterImpl@110['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
}
LazyJavaClassifierType@142['E'] {
arguments = ArrayList@143[empty]
classifier = JavaTypeParameterImpl@129['E']
classifier = JavaTypeParameterImpl@103['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@104
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@144['E'] {
arguments = ArrayList@145[empty]
classifier = JavaTypeParameterImpl@107['E']
classifier = JavaTypeParameterImpl@135['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
}
LazyJavaClassifierType@146['E'] {
arguments = ArrayList@147[empty]
classifier = JavaTypeParameterImpl@129['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
}
LazyJavaClassifierType@148['E'] {
arguments = ArrayList@149[empty]
classifier = JavaTypeParameterImpl@114['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@148['E'] {
arguments = ArrayList@149[empty]
classifier = JavaTypeParameterImpl@111['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
}
LazyJavaClassifierType@150['E'] {
arguments = ArrayList@151[empty]
classifier = JavaTypeParameterImpl@123['E']
classifier = JavaTypeParameterImpl@106['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@107
}
LazyJavaClassifierType@152['E'] {
arguments = ArrayList@153[empty]
classifier = JavaTypeParameterImpl@135['E']
classifier = JavaTypeParameterImpl@99['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@154['E'] {
arguments = ArrayList@155[empty]
classifier = JavaTypeParameterImpl@120['E']
classifier = JavaTypeParameterImpl@123['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@156['E'] {
arguments = ArrayList@157[empty]
classifier = JavaTypeParameterImpl@99['E']
classifier = JavaTypeParameterImpl@132['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
}
LazyJavaClassifierType@158['E'] {
arguments = ArrayList@159[empty]
classifier = JavaTypeParameterImpl@126['E']
classifier = JavaTypeParameterImpl@120['E']
nullable = 'true': Boolean@91
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
}
LazyJavaClassifierType@55['List<E>'] {
LazyJavaClassifierType@60['List<E>'] {
arguments = ArrayList@160[1] { TypeProjectionImpl@161 }
classifier = JavaClassImpl@162['List']
memberScope = SubstitutingScope@163
typeConstructor = DeserializedClassTypeConstructor@164
}
LazyJavaClassifierType@60['List<E>'] {
LazyJavaClassifierType@55['List<E>'] {
arguments = ArrayList@165[1] { TypeProjectionImpl@166 }
classifier = JavaClassImpl@167['List']
memberScope = SubstitutingScope@168
@@ -401,6 +401,7 @@ LazyJavaPackageFragment@193['lang'] {
functions('minus': Name@234) = EmptyList@11[empty] // through LazyPackageFragmentScopeForJavaPackage@228
functions('next': Name@235) = EmptyList@11[empty] // through LazyPackageFragmentScopeForJavaPackage@228
functions('rangeTo': Name@236) = EmptyList@11[empty] // through LazyPackageFragmentScopeForJavaPackage@228
functions('size': Name@237) = EmptyList@11[empty] // through LazyPackageFragmentScopeForJavaPackage@228
memberIndex = computeMemberIndex$1@238 // through LazyPackageFragmentScopeForJavaPackage@228
}
@@ -430,26 +431,27 @@ LazyJavaPackageFragment@199['util'] {
functions('minus': Name@234) = EmptyList@11[empty] // through LazyPackageFragmentScopeForJavaPackage@240
functions('next': Name@235) = EmptyList@11[empty] // through LazyPackageFragmentScopeForJavaPackage@240
functions('rangeTo': Name@236) = EmptyList@11[empty] // through LazyPackageFragmentScopeForJavaPackage@240
functions('size': Name@237) = EmptyList@11[empty] // through LazyPackageFragmentScopeForJavaPackage@240
memberIndex = computeMemberIndex$1@243 // through LazyPackageFragmentScopeForJavaPackage@240
}
LazyJavaTypeParameterDescriptor@57['E'] {
defaultType = JetTypeImpl@244['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@108
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
upperBounds = LinkedHashSet@245[1] { NullableType@246 }
upperBoundsAsType = NullableType@246
}
LazyJavaTypeParameterDescriptor@52['E'] {
LazyJavaTypeParameterDescriptor@48['E'] {
defaultType = JetTypeImpl@247['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@100
typeConstructor = AbstractLazyTypeParameterDescriptor$1@107
upperBounds = LinkedHashSet@248[1] { NullableType@249 }
upperBoundsAsType = NullableType@249
}
LazyJavaTypeParameterDescriptor@48['E'] {
LazyJavaTypeParameterDescriptor@52['E'] {
defaultType = JetTypeImpl@250['E']
typeConstructor = AbstractLazyTypeParameterDescriptor$1@104
typeConstructor = AbstractLazyTypeParameterDescriptor$1@111
upperBounds = LinkedHashSet@251[1] { NullableType@252 }
upperBoundsAsType = NullableType@252
}
@@ -467,21 +469,21 @@ LazyJavaTypeParameterResolver@257 {
}
LazyJavaTypeParameterResolver@259 {
resolve(JavaTypeParameterImpl@114['E']) = null
resolve(JavaTypeParameterImpl@123['E']) = null
}
LazyJavaTypeParameterResolver@260 {
resolve(JavaTypeParameterImpl@135['E']) = null
}
LazyJavaTypeParameterResolver@261 {
resolve(JavaTypeParameterImpl@129['E']) = null
}
LazyJavaTypeParameterResolver@262 {
resolve(JavaTypeParameterImpl@126['E']) = null
}
LazyJavaTypeParameterResolver@263 {
LazyJavaTypeParameterResolver@261 {
resolve(JavaTypeParameterImpl@99['E']) = null
}
LazyJavaTypeParameterResolver@262 {
resolve(JavaTypeParameterImpl@132['E']) = null
}
LazyJavaTypeParameterResolver@263 {
resolve(JavaTypeParameterImpl@129['E']) = null
}
@@ -34,11 +34,11 @@ DeserializedType@21['T in kotlin'] {
}
DeserializedType@22['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@14
constructor = AbstractLazyTypeParameterDescriptor$1@18
}
DeserializedType@23['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@18
constructor = AbstractLazyTypeParameterDescriptor$1@14
}
DeserializedType@24['java.lang.Class'] {
@@ -294,11 +294,11 @@ LazyJavaTypeParameterResolver@164 {
}
TypeDeserializer@166 {
classDescriptors('27': Integer@167) = LazyJavaClassDescriptor@42['Class']
classDescriptors('9': Integer@168) = DeserializedClassDescriptor@169['Any']
classDescriptors('2': Integer@167) = DeserializedClassDescriptor@168['Any']
classDescriptors('54': Integer@169) = LazyJavaClassDescriptor@42['Class']
}
TypeDeserializer@170 {
classDescriptors('27': Integer@167) = LazyJavaClassDescriptor@42['Class']
classDescriptors('9': Integer@168) = DeserializedClassDescriptor@169['Any']
classDescriptors('2': Integer@167) = DeserializedClassDescriptor@168['Any']
classDescriptors('54': Integer@169) = LazyJavaClassDescriptor@42['Class']
}
@@ -44,7 +44,7 @@ DeserializedType@29['T in kotlin'] {
}
DeserializedType@30['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@22
constructor = AbstractLazyTypeParameterDescriptor$1@26
}
DeserializedType@31['T in kotlin'] {
@@ -52,7 +52,7 @@ DeserializedType@31['T in kotlin'] {
}
DeserializedType@32['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@22
constructor = AbstractLazyTypeParameterDescriptor$1@26
}
DeserializedType@33['java.lang.Class'] {
@@ -60,12 +60,12 @@ DeserializedType@33['java.lang.Class'] {
memberScope = SubstitutingScope@35
}
DeserializedType@28['kotlin.Any'] {
DeserializedType@24['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@36
memberScope = DeserializedClassMemberScope@37
}
DeserializedType@24['kotlin.Any'] {
DeserializedType@28['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@36
memberScope = DeserializedClassMemberScope@37
}
@@ -475,16 +475,16 @@ LazyJavaTypeParameterResolver@241 {
}
TypeDeserializer@243 {
classDescriptors('22': Integer@244) = DeserializedClassDescriptor@245['Int']
classDescriptors('35': Integer@246) = DeserializedClassDescriptor@247['IntArray']
classDescriptors('2': Integer@244) = DeserializedClassDescriptor@245['Any']
classDescriptors('3': Integer@246) = DeserializedClassDescriptor@247['Array']
}
TypeDeserializer@248 {
classDescriptors('27': Integer@249) = LazyJavaClassDescriptor@88['Class']
classDescriptors('9': Integer@250) = DeserializedClassDescriptor@251['Any']
classDescriptors('2': Integer@244) = DeserializedClassDescriptor@245['Any']
classDescriptors('54': Integer@249) = LazyJavaClassDescriptor@88['Class']
}
TypeDeserializer@252 {
classDescriptors('8': Integer@253) = DeserializedClassDescriptor@254['Array']
classDescriptors('9': Integer@250) = DeserializedClassDescriptor@251['Any']
TypeDeserializer@250 {
classDescriptors('20': Integer@251) = DeserializedClassDescriptor@252['Int']
classDescriptors('45': Integer@253) = DeserializedClassDescriptor@254['IntArray']
}
@@ -171,6 +171,6 @@ LazyJavaTypeParameterResolver@104 {
}
TypeDeserializer@106 {
classDescriptors('27': Integer@107) = LazyJavaClassDescriptor@31['Class']
classDescriptors('9': Integer@108) = DeserializedClassDescriptor@109['Any']
classDescriptors('2': Integer@107) = DeserializedClassDescriptor@108['Any']
classDescriptors('54': Integer@109) = LazyJavaClassDescriptor@31['Class']
}
@@ -322,11 +322,11 @@ LazyJavaPackageFragment@85['lang'] {
}
TypeDeserializer@170 {
classDescriptors('22': Integer@171) = DeserializedClassDescriptor@172['Int']
classDescriptors('35': Integer@173) = DeserializedClassDescriptor@174['IntArray']
classDescriptors('2': Integer@171) = DeserializedClassDescriptor@172['Any']
classDescriptors('3': Integer@173) = DeserializedClassDescriptor@174['Array']
}
TypeDeserializer@175 {
classDescriptors('8': Integer@176) = DeserializedClassDescriptor@177['Array']
classDescriptors('9': Integer@178) = DeserializedClassDescriptor@179['Any']
classDescriptors('20': Integer@176) = DeserializedClassDescriptor@177['Int']
classDescriptors('45': Integer@178) = DeserializedClassDescriptor@179['IntArray']
}
@@ -40,7 +40,7 @@ DeserializedTypeParameterDescriptor@25['T'] {
}
DeserializedType@29['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@22
constructor = AbstractLazyTypeParameterDescriptor$1@26
}
DeserializedType@30['T in kotlin'] {
@@ -52,7 +52,7 @@ DeserializedType@31['T in kotlin'] {
}
DeserializedType@32['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@22
constructor = AbstractLazyTypeParameterDescriptor$1@26
}
DeserializedType@33['java.lang.Class'] {
@@ -60,12 +60,12 @@ DeserializedType@33['java.lang.Class'] {
memberScope = SubstitutingScope@35
}
DeserializedType@28['kotlin.Any'] {
DeserializedType@24['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@36
memberScope = DeserializedClassMemberScope@37
}
DeserializedType@24['kotlin.Any'] {
DeserializedType@28['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@36
memberScope = DeserializedClassMemberScope@37
}
@@ -477,16 +477,16 @@ LazyJavaTypeParameterResolver@243 {
}
TypeDeserializer@245 {
classDescriptors('22': Integer@246) = DeserializedClassDescriptor@247['Int']
classDescriptors('35': Integer@248) = DeserializedClassDescriptor@249['IntArray']
classDescriptors('2': Integer@246) = DeserializedClassDescriptor@247['Any']
classDescriptors('3': Integer@248) = DeserializedClassDescriptor@249['Array']
}
TypeDeserializer@250 {
classDescriptors('27': Integer@251) = LazyJavaClassDescriptor@100['Class']
classDescriptors('9': Integer@252) = DeserializedClassDescriptor@253['Any']
classDescriptors('2': Integer@246) = DeserializedClassDescriptor@247['Any']
classDescriptors('54': Integer@251) = LazyJavaClassDescriptor@100['Class']
}
TypeDeserializer@254 {
classDescriptors('8': Integer@255) = DeserializedClassDescriptor@256['Array']
classDescriptors('9': Integer@252) = DeserializedClassDescriptor@253['Any']
TypeDeserializer@252 {
classDescriptors('20': Integer@253) = DeserializedClassDescriptor@254['Int']
classDescriptors('45': Integer@255) = DeserializedClassDescriptor@256['IntArray']
}
@@ -42,7 +42,7 @@ DeserializedTypeParameterDescriptor@25['T'] {
}
DeserializedType@29['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@22
constructor = AbstractLazyTypeParameterDescriptor$1@26
}
DeserializedType@30['T in kotlin'] {
@@ -50,7 +50,7 @@ DeserializedType@30['T in kotlin'] {
}
DeserializedType@31['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@26
constructor = AbstractLazyTypeParameterDescriptor$1@22
}
DeserializedType@32['T in kotlin'] {
@@ -328,11 +328,11 @@ TypeDeserializer@219 {
}
TypeDeserializer@223 {
classDescriptors('27': Integer@224) = LazyJavaClassDescriptor@91['Class']
classDescriptors('9': Integer@225) = DeserializedClassDescriptor@226['Any']
classDescriptors('2': Integer@224) = DeserializedClassDescriptor@225['Any']
classDescriptors('3': Integer@221) = DeserializedClassDescriptor@226['Array']
}
TypeDeserializer@227 {
classDescriptors('8': Integer@228) = DeserializedClassDescriptor@229['Array']
classDescriptors('9': Integer@225) = DeserializedClassDescriptor@226['Any']
classDescriptors('2': Integer@224) = DeserializedClassDescriptor@225['Any']
classDescriptors('54': Integer@228) = LazyJavaClassDescriptor@91['Class']
}
@@ -61,19 +61,19 @@ DeserializedType@39['T in kotlin.reflect.KMemberProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@35
}
DeserializedType@28['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@40
memberScope = DeserializedClassMemberScope@41
}
DeserializedType@42['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@40
memberScope = DeserializedClassMemberScope@41
DeserializedType@40['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@41
memberScope = DeserializedClassMemberScope@42
}
DeserializedType@37['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@40
memberScope = DeserializedClassMemberScope@41
constructor = DeserializedClassTypeConstructor@41
memberScope = DeserializedClassMemberScope@42
}
DeserializedType@28['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@41
memberScope = DeserializedClassMemberScope@42
}
DeserializedType@43['kotlin.CharSequence'] {
@@ -320,13 +320,13 @@ NestedClassDescriptors@159 {
}
TypeDeserializer@160 {
classDescriptors('22': Integer@161) = DeserializedClassDescriptor@162['Int']
classDescriptors('40': Integer@163) = DeserializedClassDescriptor@164['CharSequence']
classDescriptors('20': Integer@161) = DeserializedClassDescriptor@162['Int']
classDescriptors('59': Integer@163) = DeserializedClassDescriptor@164['CharSequence']
}
TypeDeserializer@165 {
classDescriptors('22': Integer@161) = DeserializedClassDescriptor@162['Int']
classDescriptors('40': Integer@163) = DeserializedClassDescriptor@164['CharSequence']
classDescriptors('20': Integer@161) = DeserializedClassDescriptor@162['Int']
classDescriptors('59': Integer@163) = DeserializedClassDescriptor@164['CharSequence']
}
TypeDeserializer@166 {
@@ -190,15 +190,15 @@ DeserializedType@121['R in kotlin.reflect.KExtensionProperty'] {
}
DeserializedType@122['R in kotlin.reflect.KMutableExtensionProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@74
constructor = AbstractLazyTypeParameterDescriptor$1@79
}
DeserializedType@123['R in kotlin.reflect.KMutableExtensionProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@74
constructor = AbstractLazyTypeParameterDescriptor$1@79
}
DeserializedType@124['R in kotlin.reflect.KMutableExtensionProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@74
constructor = AbstractLazyTypeParameterDescriptor$1@79
}
DeserializedType@125['R in kotlin.reflect.KMutableTopLevelExtensionProperty'] {
@@ -210,15 +210,15 @@ DeserializedType@126['R in kotlin.reflect.KMutableTopLevelExtensionProperty'] {
}
DeserializedType@127['R in kotlin.reflect.KTopLevelExtensionProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@79
constructor = AbstractLazyTypeParameterDescriptor$1@74
}
DeserializedType@128['R in kotlin.reflect.KTopLevelExtensionProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@79
constructor = AbstractLazyTypeParameterDescriptor$1@74
}
DeserializedType@129['T in kotlin.reflect.KExtensionProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@108
constructor = AbstractLazyTypeParameterDescriptor$1@103
}
DeserializedType@130['T in kotlin.reflect.KMutableExtensionProperty'] {
@@ -238,7 +238,7 @@ DeserializedType@133['T in kotlin.reflect.KMutableTopLevelExtensionProperty'] {
}
DeserializedType@134['T in kotlin.reflect.KTopLevelExtensionProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@103
constructor = AbstractLazyTypeParameterDescriptor$1@108
}
DeserializedType@135['V in kotlin'] {
@@ -253,7 +253,7 @@ DeserializedType@137['V in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@116
}
DeserializedType@105['kotlin.Any'] {
DeserializedType@71['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
@@ -263,26 +263,6 @@ DeserializedType@114['kotlin.Any'] {
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@76['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@140['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@85['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@81['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@66['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
@@ -293,17 +273,37 @@ DeserializedType@100['kotlin.Any'] {
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@140['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@118['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@110['kotlin.Any'] {
DeserializedType@81['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@71['kotlin.Any'] {
DeserializedType@85['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@105['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@76['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
DeserializedType@110['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@138
memberScope = DeserializedClassMemberScope@139
}
@@ -628,8 +628,8 @@ NestedClassDescriptors@296 {
}
TypeDeserializer@297 {
classDescriptors('129': Integer@298) = DeserializedClassDescriptor@299['MutableMap']
classDescriptors('9': Integer@300) = DeserializedClassDescriptor@301['Any']
classDescriptors('102': Integer@298) = DeserializedClassDescriptor@299['MutableMap']
classDescriptors('2': Integer@300) = DeserializedClassDescriptor@301['Any']
}
TypeDeserializer@302 {
@@ -154,22 +154,12 @@ DeserializedType@86['V in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@73
}
DeserializedType@45['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@87
memberScope = DeserializedClassMemberScope@88
}
DeserializedType@71['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@87
memberScope = DeserializedClassMemberScope@88
}
DeserializedType@66['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@87
memberScope = DeserializedClassMemberScope@88
}
DeserializedType@55['kotlin.Any'] {
DeserializedType@45['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@87
memberScope = DeserializedClassMemberScope@88
}
@@ -179,7 +169,7 @@ DeserializedType@50['kotlin.Any'] {
memberScope = DeserializedClassMemberScope@88
}
DeserializedType@75['kotlin.Any'] {
DeserializedType@66['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@87
memberScope = DeserializedClassMemberScope@88
}
@@ -189,6 +179,16 @@ DeserializedType@89['kotlin.Any'] {
memberScope = DeserializedClassMemberScope@88
}
DeserializedType@75['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@87
memberScope = DeserializedClassMemberScope@88
}
DeserializedType@55['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@87
memberScope = DeserializedClassMemberScope@88
}
DeserializedType@90['kotlin.CharSequence'] {
constructor = DeserializedClassTypeConstructor@91
}
@@ -461,8 +461,8 @@ NestedClassDescriptors@209 {
}
TypeDeserializer@210 {
classDescriptors('129': Integer@211) = DeserializedClassDescriptor@212['MutableMap']
classDescriptors('9': Integer@213) = DeserializedClassDescriptor@214['Any']
classDescriptors('102': Integer@211) = DeserializedClassDescriptor@212['MutableMap']
classDescriptors('2': Integer@213) = DeserializedClassDescriptor@214['Any']
}
TypeDeserializer@215 {
@@ -489,11 +489,11 @@ TypeDeserializer@222 {
}
TypeDeserializer@223 {
classDescriptors('40': Integer@224) = DeserializedClassDescriptor@225['CharSequence']
classDescriptors('59': Integer@224) = DeserializedClassDescriptor@225['CharSequence']
}
TypeDeserializer@226 {
classDescriptors('40': Integer@224) = DeserializedClassDescriptor@225['CharSequence']
classDescriptors('59': Integer@224) = DeserializedClassDescriptor@225['CharSequence']
}
TypeDeserializer@227 {
@@ -179,27 +179,27 @@ DeserializedType@129['K in kotlin'] {
}
DeserializedType@130['R in kotlin.reflect.KMutableProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@109
constructor = AbstractLazyTypeParameterDescriptor$1@121
}
DeserializedType@131['R in kotlin.reflect.KMutableTopLevelProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@105
constructor = AbstractLazyTypeParameterDescriptor$1@117
}
DeserializedType@132['R in kotlin.reflect.KMutableTopLevelProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@105
constructor = AbstractLazyTypeParameterDescriptor$1@117
}
DeserializedType@133['R in kotlin.reflect.KMutableTopLevelVariable'] {
constructor = AbstractLazyTypeParameterDescriptor$1@121
constructor = AbstractLazyTypeParameterDescriptor$1@113
}
DeserializedType@134['R in kotlin.reflect.KMutableTopLevelVariable'] {
constructor = AbstractLazyTypeParameterDescriptor$1@121
constructor = AbstractLazyTypeParameterDescriptor$1@113
}
DeserializedType@135['R in kotlin.reflect.KMutableTopLevelVariable'] {
constructor = AbstractLazyTypeParameterDescriptor$1@121
constructor = AbstractLazyTypeParameterDescriptor$1@113
}
DeserializedType@136['R in kotlin.reflect.KMutableVariable'] {
@@ -215,11 +215,11 @@ DeserializedType@138['R in kotlin.reflect.KMutableVariable'] {
}
DeserializedType@139['R in kotlin.reflect.KProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@117
constructor = AbstractLazyTypeParameterDescriptor$1@109
}
DeserializedType@140['R in kotlin.reflect.KTopLevelProperty'] {
constructor = AbstractLazyTypeParameterDescriptor$1@113
constructor = AbstractLazyTypeParameterDescriptor$1@105
}
DeserializedType@141['R in kotlin.reflect.KTopLevelVariable'] {
@@ -250,61 +250,61 @@ DeserializedType@147['V in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@125
}
DeserializedType@85['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@115['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@90['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@123['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@111['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@150['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@107['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@95['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@100['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@127['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@100['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@150['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@95['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@107['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@119['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@123['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@115['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@85['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@90['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@148
memberScope = DeserializedClassMemberScope@149
}
DeserializedType@151['kotlin.MutableMap'] {
constructor = DeserializedClassTypeConstructor@152
memberScope = SubstitutingScope@153
@@ -386,17 +386,17 @@ DeserializedType@192['kotlin.reflect.KVariable'] {
}
EnumEntryClassDescriptors@194 {
findEnumEntry('get': Name@195) = null
findEnumEntry('name': Name@196) = null
findEnumEntry('set': Name@197) = null
}
EnumEntryClassDescriptors@198 {
findEnumEntry('get': Name@23) = null
findEnumEntry('name': Name@28) = null
findEnumEntry('set': Name@26) = null
}
EnumEntryClassDescriptors@195 {
findEnumEntry('get': Name@196) = null
findEnumEntry('name': Name@197) = null
findEnumEntry('set': Name@198) = null
}
LazyJavaPackageFragmentProvider@199 {
packageFragments('<root>': FqName@200) = LazyJavaPackageFragment@201['<root>']
packageFragments('Int': FqName@202) = null
@@ -639,14 +639,14 @@ NestedClassDescriptors@334 {
}
NestedClassDescriptors@335 {
findNestedClass('get': Name@195) = null
findNestedClass('name': Name@196) = null
findNestedClass('set': Name@197) = null
findNestedClass('get': Name@196) = null
findNestedClass('name': Name@197) = null
findNestedClass('set': Name@198) = null
}
TypeDeserializer@336 {
classDescriptors('129': Integer@337) = DeserializedClassDescriptor@338['MutableMap']
classDescriptors('9': Integer@339) = DeserializedClassDescriptor@340['Any']
classDescriptors('102': Integer@337) = DeserializedClassDescriptor@338['MutableMap']
classDescriptors('2': Integer@339) = DeserializedClassDescriptor@340['Any']
}
TypeDeserializer@341 {
@@ -198,7 +198,22 @@ DeserializedType@108['java.util.HashMap'] {
memberScope = SubstitutingScope@110
}
DeserializedType@50['kotlin.Any'] {
DeserializedType@54['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@71['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@113['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@59['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
@@ -208,11 +223,26 @@ DeserializedType@83['kotlin.Any'] {
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@79['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@67['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@50['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@87['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@91['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
@@ -223,42 +253,12 @@ DeserializedType@75['kotlin.Any'] {
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@113['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@71['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@87['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@63['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@114['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@59['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@79['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
DeserializedType@54['kotlin.Any'] {
DeserializedType@63['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@111
memberScope = DeserializedClassMemberScope@112
}
@@ -1205,26 +1205,26 @@ TypeDeserializer@431 {
}
TypeDeserializer@433 {
classDescriptors('2': Integer@434) = DeserializedClassDescriptor@435['Any']
classDescriptors('5': Integer@436) = LazyJavaClassDescriptor@140['Serializable']
classDescriptors('117': Integer@434) = DeserializedClassDescriptor@8['Pair']
classDescriptors('118': Integer@435) = LazyJavaClassDescriptor@139['HashMap']
classDescriptors('2': Integer@436) = DeserializedClassDescriptor@437['Any']
classDescriptors('3': Integer@438) = DeserializedClassDescriptor@439['Array']
}
TypeDeserializer@437 {
classDescriptors('2': Integer@434) = DeserializedClassDescriptor@435['Any']
TypeDeserializer@440 {
classDescriptors('117': Integer@434) = DeserializedClassDescriptor@8['Pair']
classDescriptors('2': Integer@436) = DeserializedClassDescriptor@437['Any']
}
TypeDeserializer@438 {
classDescriptors('2': Integer@434) = DeserializedClassDescriptor@435['Any']
TypeDeserializer@441 {
classDescriptors('2': Integer@436) = DeserializedClassDescriptor@437['Any']
classDescriptors('5': Integer@442) = LazyJavaClassDescriptor@140['Serializable']
}
TypeDeserializer@439 {
classDescriptors('8': Integer@440) = DeserializedClassDescriptor@441['Array']
classDescriptors('80': Integer@442) = DeserializedClassDescriptor@8['Pair']
classDescriptors('81': Integer@443) = LazyJavaClassDescriptor@139['HashMap']
classDescriptors('9': Integer@444) = DeserializedClassDescriptor@435['Any']
TypeDeserializer@443 {
classDescriptors('2': Integer@436) = DeserializedClassDescriptor@437['Any']
}
TypeDeserializer@445 {
classDescriptors('80': Integer@442) = DeserializedClassDescriptor@8['Pair']
classDescriptors('9': Integer@444) = DeserializedClassDescriptor@435['Any']
TypeDeserializer@444 {
classDescriptors('2': Integer@436) = DeserializedClassDescriptor@437['Any']
}
@@ -31,7 +31,7 @@ DeserializedTypeParameterDescriptor@20['T'] {
}
DeserializedType@24['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@21
constructor = AbstractLazyTypeParameterDescriptor$1@17
}
DeserializedType@25['T in kotlin'] {
@@ -39,7 +39,7 @@ DeserializedType@25['T in kotlin'] {
}
DeserializedType@26['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@21
constructor = AbstractLazyTypeParameterDescriptor$1@17
}
DeserializedType@27['T in kotlin'] {
@@ -51,12 +51,12 @@ DeserializedType@28['java.lang.Class'] {
memberScope = SubstitutingScope@30
}
DeserializedType@23['kotlin.Any'] {
DeserializedType@19['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@31
memberScope = DeserializedClassMemberScope@32
}
DeserializedType@19['kotlin.Any'] {
DeserializedType@23['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@31
memberScope = DeserializedClassMemberScope@32
}
@@ -287,11 +287,11 @@ LazyJavaTypeParameterResolver@135 {
}
TypeDeserializer@137 {
classDescriptors('27': Integer@138) = LazyJavaClassDescriptor@42['Class']
classDescriptors('9': Integer@139) = DeserializedClassDescriptor@140['Any']
classDescriptors('2': Integer@138) = DeserializedClassDescriptor@139['Any']
classDescriptors('3': Integer@140) = DeserializedClassDescriptor@141['Array']
}
TypeDeserializer@141 {
classDescriptors('8': Integer@142) = DeserializedClassDescriptor@143['Array']
classDescriptors('9': Integer@139) = DeserializedClassDescriptor@140['Any']
TypeDeserializer@142 {
classDescriptors('2': Integer@138) = DeserializedClassDescriptor@139['Any']
classDescriptors('54': Integer@143) = LazyJavaClassDescriptor@42['Class']
}
@@ -396,7 +396,7 @@ public class PackageGenTest extends CodegenTestCase {
}
public void testArraySize() throws Exception {
loadText("fun foo(a: Array<Int>) = a.size");
loadText("fun foo(a: Array<Int>) = a.size()");
Method main = generateFunction();
Object[] args = new Object[] { new Integer[4] };
int result = (Integer) main.invoke(null, args);
@@ -404,7 +404,7 @@ public class PackageGenTest extends CodegenTestCase {
}
public void testIntArraySize() throws Exception {
loadText("fun foo(a: IntArray) = a.size");
loadText("fun foo(a: IntArray) = a.size()");
Method main = generateFunction();
Object[] args = new Object[] { new int[4] };
int result = (Integer) main.invoke(null, args);
+3 -1
View File
@@ -16,10 +16,12 @@
package kotlin
public class Array<reified T>(public val size: Int, init: (Int) -> T) : Cloneable {
public class Array<reified T>(size: Int, init: (Int) -> T) : Cloneable {
public fun get(index: Int): T
public fun set(index: Int, value: T): Unit
public fun size(): Int
public fun iterator(): Iterator<T>
public val indices: IntRange
+24 -8
View File
@@ -18,10 +18,12 @@
package kotlin
public class ByteArray(public val size: Int) : Cloneable {
public class ByteArray(size: Int) : Cloneable {
public fun get(index: Int): Byte
public fun set(index: Int, value: Byte): Unit
public fun size(): Int
public fun iterator(): ByteIterator
public val indices: IntRange
@@ -29,10 +31,12 @@ public class ByteArray(public val size: Int) : Cloneable {
public override fun clone(): ByteArray
}
public class CharArray(public val size: Int) : Cloneable {
public class CharArray(size: Int) : Cloneable {
public fun get(index: Int): Char
public fun set(index: Int, value: Char): Unit
public fun size(): Int
public fun iterator(): CharIterator
public val indices: IntRange
@@ -40,10 +44,12 @@ public class CharArray(public val size: Int) : Cloneable {
public override fun clone(): CharArray
}
public class ShortArray(public val size: Int) : Cloneable {
public class ShortArray(size: Int) : Cloneable {
public fun get(index: Int): Short
public fun set(index: Int, value: Short): Unit
public fun size(): Int
public fun iterator(): ShortIterator
public val indices: IntRange
@@ -51,10 +57,12 @@ public class ShortArray(public val size: Int) : Cloneable {
public override fun clone(): ShortArray
}
public class IntArray(public val size: Int) : Cloneable {
public class IntArray(size: Int) : Cloneable {
public fun get(index: Int): Int
public fun set(index: Int, value: Int): Unit
public fun size(): Int
public fun iterator(): IntIterator
public val indices: IntRange
@@ -62,10 +70,12 @@ public class IntArray(public val size: Int) : Cloneable {
public override fun clone(): IntArray
}
public class LongArray(public val size: Int) : Cloneable {
public class LongArray(size: Int) : Cloneable {
public fun get(index: Int): Long
public fun set(index: Int, value: Long): Unit
public fun size(): Int
public fun iterator(): LongIterator
public val indices: IntRange
@@ -73,10 +83,12 @@ public class LongArray(public val size: Int) : Cloneable {
public override fun clone(): LongArray
}
public class FloatArray(public val size: Int) : Cloneable {
public class FloatArray(size: Int) : Cloneable {
public fun get(index: Int): Float
public fun set(index: Int, value: Float): Unit
public fun size(): Int
public fun iterator(): FloatIterator
public val indices: IntRange
@@ -84,10 +96,12 @@ public class FloatArray(public val size: Int) : Cloneable {
public override fun clone(): FloatArray
}
public class DoubleArray(public val size: Int) : Cloneable {
public class DoubleArray(size: Int) : Cloneable {
public fun get(index: Int): Double
public fun set(index: Int, value: Double): Unit
public fun size(): Int
public fun iterator(): DoubleIterator
public val indices: IntRange
@@ -95,10 +109,12 @@ public class DoubleArray(public val size: Int) : Cloneable {
public override fun clone(): DoubleArray
}
public class BooleanArray(public val size: Int) : Cloneable {
public class BooleanArray(size: Int) : Cloneable {
public fun get(index: Int): Boolean
public fun set(index: Int, value: Boolean): Unit
public fun size(): Int
public fun iterator(): BooleanIterator
public val indices: IntRange
@@ -48,7 +48,7 @@ fun <T> foreignKotlinClass(jClass: Class<T>): KClassImpl<T> {
// This is the most unlikely case: we found a cached array of references of length at least 2 (can't be 1 because
// the single element would be cached instead), and none of those classes is the one we're looking for
val size = cached.size
val size = cached.size()
// Don't use Array constructor because it creates a lambda
val newArray = arrayOfNulls<WeakReference<KClassImpl<*>>>(size + 1)
// Don't use Arrays.copyOf because it works reflectively
@@ -18,7 +18,7 @@ package kotlin.jvm.internal
private class ArrayIterator<T>(val array: Array<T>) : Iterator<T> {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun next() = array[index++]
}
@@ -20,49 +20,49 @@ package kotlin.jvm.internal
private class ArrayByteIterator(private val array: ByteArray) : ByteIterator() {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun nextByte() = array[index++]
}
private class ArrayCharIterator(private val array: CharArray) : CharIterator() {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun nextChar() = array[index++]
}
private class ArrayShortIterator(private val array: ShortArray) : ShortIterator() {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun nextShort() = array[index++]
}
private class ArrayIntIterator(private val array: IntArray) : IntIterator() {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun nextInt() = array[index++]
}
private class ArrayLongIterator(private val array: LongArray) : LongIterator() {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun nextLong() = array[index++]
}
private class ArrayFloatIterator(private val array: FloatArray) : FloatIterator() {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun nextFloat() = array[index++]
}
private class ArrayDoubleIterator(private val array: DoubleArray) : DoubleIterator() {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun nextDouble() = array[index++]
}
private class ArrayBooleanIterator(private val array: BooleanArray) : BooleanIterator() {
private var index = 0
override fun hasNext() = index < array.size
override fun hasNext() = index < array.size()
override fun nextBoolean() = array[index++]
}
@@ -28,7 +28,7 @@ class GenerateArrayIterators(out: PrintWriter) : BuiltInsSourceGenerator(out) {
val s = kind.capitalized
out.println("private class Array${s}Iterator(private val array: ${s}Array) : ${s}Iterator() {")
out.println(" private var index = 0")
out.println(" override fun hasNext() = index < array.size")
out.println(" override fun hasNext() = index < array.size()")
out.println(" override fun next$s() = array[index++]")
out.println("}")
out.println()
@@ -26,10 +26,12 @@ class GenerateArrays(out: PrintWriter) : BuiltInsSourceGenerator(out) {
override fun generateBody() {
for (kind in PrimitiveType.values()) {
val s = kind.capitalized
out.println("public class ${s}Array(public val size: Int) : Cloneable {")
out.println("public class ${s}Array(size: Int) : Cloneable {")
out.println(" public fun get(index: Int): $s")
out.println(" public fun set(index: Int, value: $s): Unit")
out.println()
out.println(" public fun size(): Int")
out.println()
out.println(" public fun iterator(): ${s}Iterator")
out.println()
out.println(" public val indices: IntRange")
@@ -1,3 +1,3 @@
fun main() {
val bar: (Array<String>) -> Int = {<caret>(arr): Int -> arr.size}
val bar: (Array<String>) -> Int = {<caret>(arr): Int -> arr.size()}
}
@@ -1,3 +1,3 @@
fun main() {
val bar: (Array<String>) -> Int = {(arr: Array<String>): Int -> arr.size}
val bar: (Array<String>) -> Int = {(arr: Array<String>): Int -> arr.size()}
}
@@ -1,3 +1,3 @@
fun main() {
val bar: (Array<String>) -> Int = {<caret>(arr): Int -> arr.size}
val bar: (Array<String>) -> Int = {<caret>(arr): Int -> arr.size()}
}
@@ -1,3 +1,3 @@
fun main() {
val bar: (Array<String>) -> Int = { arr -> arr.size}
val bar: (Array<String>) -> Int = { arr -> arr.size()}
}
@@ -137,7 +137,7 @@ public final class ArrayFIF extends CompositeFIF {
private ArrayFIF() {
add(pattern(ARRAYS, "get"), GET_INTRINSIC);
add(pattern(ARRAYS, "set"), SET_INTRINSIC);
add(pattern(ARRAYS, "<get-size>"), LENGTH_PROPERTY_INTRINSIC);
add(pattern(ARRAYS, "size"), LENGTH_PROPERTY_INTRINSIC);
add(pattern(ARRAYS, "<get-indices>"), new KotlinFunctionIntrinsic("arrayIndices"));
add(pattern(ARRAYS, "iterator"), new KotlinFunctionIntrinsic("arrayIterator"));
add(pattern(ARRAY, "<init>"), new KotlinFunctionIntrinsic("arrayFromFun"));
+28
View File
@@ -51,3 +51,31 @@ public fun <T> Iterable<T>.containsItem(item : T) : Boolean = contains(item)
deprecated("Use sortBy() instead")
public fun <T> Iterable<T>.sort(comparator: java.util.Comparator<T>) : List<T> = sortBy(comparator)
deprecated("Use size() instead")
public val Array<*>.size: Int get() = size()
deprecated("Use size() instead")
public val ByteArray.size: Int get() = size()
deprecated("Use size() instead")
public val CharArray.size: Int get() = size()
deprecated("Use size() instead")
public val ShortArray.size: Int get() = size()
deprecated("Use size() instead")
public val IntArray.size: Int get() = size()
deprecated("Use size() instead")
public val LongArray.size: Int get() = size()
deprecated("Use size() instead")
public val FloatArray.size: Int get() = size()
deprecated("Use size() instead")
public val DoubleArray.size: Int get() = size()
deprecated("Use size() instead")
public val BooleanArray.size: Int get() = size()