Loading java arrays as Array<out T> at method return type position, as well.
This commit is contained in:
+1
-1
@@ -210,7 +210,7 @@ public class JavaTypeTransformer {
|
||||
}
|
||||
|
||||
Variance variance;
|
||||
if (howThisTypeIsUsed == MEMBER_SIGNATURE_CONTRAVARIANT && !(arrayType instanceof PsiEllipsisType)) {
|
||||
if (!(arrayType instanceof PsiEllipsisType)) {
|
||||
variance = Variance.OUT_VARIANCE;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -6,5 +6,5 @@ fun main(args : Array<String>) {
|
||||
val al : ArrayList<Int> = ArrayList<Int>()
|
||||
|
||||
// A type mismatch on this line means that jdk-annotations were not loaded
|
||||
al.toArray(Array<Int>(3, {1})) : Array<Int>
|
||||
al.toArray(Array<Int>(3, {1})) : Array<out Int>
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package test
|
||||
|
||||
public class ArrayTypeVariance : java.lang.Object() {
|
||||
public fun toArray(p0: Array<out Any?>?): Array<Any?>? {
|
||||
public fun toArray(p0: Array<out Any?>?): Array<out Any?>? {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,5 @@ namespace test
|
||||
|
||||
public final class test.ArrayTypeVariance : java.lang.Object {
|
||||
public final /*constructor*/ fun <init>(): test.ArrayTypeVariance
|
||||
public final fun toArray(/*0*/ p0: jet.Array<out jet.Any?>?): jet.Array<jet.Any?>?
|
||||
public final fun toArray(/*0*/ p0: jet.Array<out jet.Any?>?): jet.Array<out jet.Any?>?
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
package test
|
||||
|
||||
public open class FieldOfArrayType() : java.lang.Object() {
|
||||
public var files: Array<java.io.File?>? = null
|
||||
public var files: Array<out java.io.File?>? = null
|
||||
}
|
||||
|
||||
@@ -2,5 +2,5 @@ namespace test
|
||||
|
||||
public open class test.FieldOfArrayType : java.lang.Object {
|
||||
public final /*constructor*/ fun <init>(): test.FieldOfArrayType
|
||||
public final var files: jet.Array<java.io.File?>?
|
||||
public final var files: jet.Array<out java.io.File?>?
|
||||
}
|
||||
|
||||
@@ -22,12 +22,12 @@ import java.util.ArrayList;
|
||||
import jet.runtime.typeinfo.KotlinSignature;
|
||||
|
||||
public class PropertyArrayTypes<T> {
|
||||
@KotlinSignature("var arrayOfArrays : Array<Array<String>>")
|
||||
@KotlinSignature("var arrayOfArrays : Array<out Array<out String>>")
|
||||
public String[][] arrayOfArrays;
|
||||
|
||||
@KotlinSignature("var array : Array<String>")
|
||||
@KotlinSignature("var array : Array<out String>")
|
||||
public String[] array;
|
||||
|
||||
@KotlinSignature("var genericArray : Array<T>")
|
||||
@KotlinSignature("var genericArray : Array<out T>")
|
||||
public T[] genericArray;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package test
|
||||
import java.util.*
|
||||
|
||||
public open class PropertyArrayTypes<T>() : java.lang.Object() {
|
||||
public var arrayOfArrays : Array<Array<String>> = null!!
|
||||
public var array : Array<String> = null!!
|
||||
public var genericArray : Array<T> = null!!
|
||||
public var arrayOfArrays : Array<out Array<out String>> = null!!
|
||||
public var array : Array<out String> = null!!
|
||||
public var genericArray : Array<out T> = null!!
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ namespace test
|
||||
|
||||
public open class test.PropertyArrayTypes</*0*/ T : jet.Any?> : java.lang.Object {
|
||||
public final /*constructor*/ fun </*0*/ T : jet.Any?><init>(): test.PropertyArrayTypes<T>
|
||||
public final var array: jet.Array<jet.String>
|
||||
public final var arrayOfArrays: jet.Array<jet.Array<jet.String>>
|
||||
public final var genericArray: jet.Array<T>
|
||||
public final var array: jet.Array<out jet.String>
|
||||
public final var arrayOfArrays: jet.Array<out jet.Array<out jet.String>>
|
||||
public final var genericArray: jet.Array<out T>
|
||||
}
|
||||
|
||||
@@ -25,6 +25,6 @@ public open class test.ModalityOfFakeOverrides : java.util.AbstractList<jet.Stri
|
||||
public open override /*1*/ /*fake_override*/ fun set(/*0*/ p0: jet.Int, /*1*/ p1: jet.String): jet.String
|
||||
public open override /*1*/ fun size(): jet.Int
|
||||
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ p0: jet.Int, /*1*/ p1: jet.Int): jet.MutableList<jet.String>
|
||||
public open override /*1*/ /*fake_override*/ fun toArray(): jet.Array<jet.Any?>
|
||||
public open override /*1*/ /*fake_override*/ fun </*0*/ T : jet.Any?>toArray(/*0*/ p0: jet.Array<out T>): jet.Array<T>
|
||||
public open override /*1*/ /*fake_override*/ fun toArray(): jet.Array<out jet.Any?>
|
||||
public open override /*1*/ /*fake_override*/ fun </*0*/ T : jet.Any?>toArray(/*0*/ p0: jet.Array<out T>): jet.Array<out T>
|
||||
}
|
||||
|
||||
+4
-4
@@ -123,7 +123,7 @@ public class AnnotationJavaDescriptorResolverTest extends TestCaseWithTmpdir {
|
||||
actualCompileTimeConstant = getCompileTimeConstant(annotation2, annotationTypeName2, "value");
|
||||
assert actualCompileTimeConstant instanceof AnnotationValue;
|
||||
checkAnnotationCompileTimeConstant((AnnotationValue) actualCompileTimeConstant, "value",
|
||||
DEFAULT_PACKAGE + ".MyAnnotation2", "jet.Array<jet.String?>?", "[\"test\", \"test2\"]");
|
||||
DEFAULT_PACKAGE + ".MyAnnotation2", "jet.Array<out jet.String?>?", "[\"test\", \"test2\"]");
|
||||
|
||||
String annotationTypeName3 = DEFAULT_PACKAGE + ".MyAnnotationWithParam3";
|
||||
AnnotationDescriptor annotation3 = getAnnotationInClassByType("C", annotationTypeName3);
|
||||
@@ -183,7 +183,7 @@ public class AnnotationJavaDescriptorResolverTest extends TestCaseWithTmpdir {
|
||||
|
||||
CompileTimeConstant<?> actualCompileTimeConstant = getCompileTimeConstant(annotation, annotationTypeName, "value");
|
||||
assert actualCompileTimeConstant instanceof ArrayValue;
|
||||
checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array<java.lang.annotation.ElementType?>?",
|
||||
checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array<out java.lang.annotation.ElementType?>?",
|
||||
"java.lang.annotation.ElementType", values);
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ public class AnnotationJavaDescriptorResolverTest extends TestCaseWithTmpdir {
|
||||
|
||||
CompileTimeConstant<?> actualCompileTimeConstant = getCompileTimeConstant(annotation, annotationTypeName, "value");
|
||||
assert actualCompileTimeConstant instanceof ArrayValue;
|
||||
checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array<jet.String?>?", "jet.String", values);
|
||||
checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array<out jet.String?>?", "jet.String", values);
|
||||
}
|
||||
|
||||
public void testAnnotationWithEmptyArrayInParam() throws IOException {
|
||||
@@ -211,7 +211,7 @@ public class AnnotationJavaDescriptorResolverTest extends TestCaseWithTmpdir {
|
||||
|
||||
CompileTimeConstant<?> actualCompileTimeConstant = getCompileTimeConstant(annotation, annotationTypeName, "value");
|
||||
assert actualCompileTimeConstant instanceof ArrayValue;
|
||||
checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array<jet.String?>?", "jet.String", values);
|
||||
checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array<out jet.String?>?", "jet.String", values);
|
||||
}
|
||||
|
||||
private void compileJavaFile(@NotNull String fileRelativePath, @Nullable String classPath)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<item name='java.io.File java.lang.String[] list()'>
|
||||
<annotation name='org.jetbrains.annotations.Nullable'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun list() : Array<String>?""/>
|
||||
<val name="value" val=""fun list() : Array<out String>?""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.io.File java.lang.String[] list(java.io.FilenameFilter) 0'>
|
||||
@@ -66,22 +66,22 @@
|
||||
<item name='java.io.File java.lang.String[] list(java.io.FilenameFilter)'>
|
||||
<annotation name='org.jetbrains.annotations.Nullable'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun list(filter : FilenameFilter?) : Array<String>?""/>
|
||||
<val name="value" val=""fun list(filter : FilenameFilter?) : Array<out String>?""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.io.File java.io.File[] listFiles()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun listFiles() : Array<File>?""/>
|
||||
<val name="value" val=""fun listFiles() : Array<out File>?""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.io.File java.io.File[] listFiles(java.io.FilenameFilter)'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun listFiles(filter : FilenameFilter?) : Array<File>?""/>
|
||||
<val name="value" val=""fun listFiles(filter : FilenameFilter?) : Array<out File>?""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.io.File java.io.File[] listFiles(java.io.FileFilter)'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun listFiles(filter : FileFilter?) : Array<File>?""/>
|
||||
<val name="value" val=""fun listFiles(filter : FileFilter?) : Array<out File>?""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.io.File boolean renameTo(java.io.File) 0'>
|
||||
@@ -89,7 +89,7 @@
|
||||
</item>
|
||||
<item name='java.io.File java.io.File[] listRoots()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun listRoots() : Array<File>?""/>
|
||||
<val name="value" val=""fun listRoots() : Array<out File>?""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.io.File java.io.File createTempFile(java.lang.String, java.lang.String, java.io.File) 0'>
|
||||
|
||||
@@ -428,7 +428,7 @@
|
||||
<item name='java.lang.Thread java.lang.StackTraceElement[] getStackTrace()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getStackTrace() : Array<StackTraceElement>""/>
|
||||
<val name="value" val=""fun getStackTrace() : Array<out StackTraceElement>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Thread java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]> getAllStackTraces()'>
|
||||
@@ -637,7 +637,7 @@
|
||||
<item name='java.lang.String java.lang.String[] split(java.lang.String, int)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun split(regex : String, limit : Int) : Array<String>""/>
|
||||
<val name="value" val=""fun split(regex : String, limit : Int) : Array<out String>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.String java.lang.String[] split(java.lang.String, int) 0'>
|
||||
@@ -649,7 +649,7 @@
|
||||
<item name='java.lang.String java.lang.String[] split(java.lang.String)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun split(regex : String) : Array<String>""/>
|
||||
<val name="value" val=""fun split(regex : String) : Array<out String>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.String java.lang.String toLowerCase(java.util.Locale) 0'>
|
||||
@@ -823,24 +823,24 @@
|
||||
<item name='java.lang.Class java.lang.Class<?>[] getClasses()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getClasses() : Array<Class<out Any?>>""/>
|
||||
<val name="value" val=""fun getClasses() : Array<out Class<out Any?>>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.reflect.Field[] getFields()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getFields() : Array<Field>""/>
|
||||
<val name="value" val=""fun getFields() : Array<out Field>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.reflect.Method[] getMethods()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getMethods() : Array<Method>""/>
|
||||
<val name="value" val=""fun getMethods() : Array<out Method>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.reflect.Constructor<?>[] getConstructors()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getConstructors() : Array<Constructor<out Any?>>""/>
|
||||
<val name="value" val=""fun getConstructors() : Array<out Constructor<out Any?>>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.reflect.Field getField(java.lang.String)'>
|
||||
@@ -863,26 +863,26 @@
|
||||
<item name='java.lang.Class java.lang.Class<?>[] getDeclaredClasses()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getDeclaredClasses() : Array<Class<out Any?>>""/>
|
||||
<val name="value" val=""fun getDeclaredClasses() : Array<out Class<out Any?>>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.reflect.Field[] getDeclaredFields()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getDeclaredFields() : Array<Field>""/>
|
||||
<val name="value" val=""fun getDeclaredFields() : Array<out Field>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.reflect.Method[] getDeclaredMethods()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getDeclaredMethods() : Array<Method>""/>
|
||||
<val name="value" val=""fun getDeclaredMethods() : Array<out Method>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.reflect.Constructor<?>[] getDeclaredConstructors()'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value"
|
||||
val=""fun getDeclaredConstructors() : Array<Constructor<out Any?>>""/>
|
||||
val=""fun getDeclaredConstructors() : Array<out Constructor<out Any?>>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.reflect.Field getDeclaredField(java.lang.String)'>
|
||||
@@ -920,7 +920,7 @@
|
||||
<item name='java.lang.Class T[] getEnumConstants()'>
|
||||
<annotation name='org.jetbrains.annotations.Nullable'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getEnumConstants() : Array<T>?""/>
|
||||
<val name="value" val=""fun getEnumConstants() : Array<out T>?""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.lang.Class java.lang.Class<? extends U> asSubclass(java.lang.Class<U>)'>
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
<!-- java.lang.reflect.Method -->
|
||||
<item name='java.lang.reflect.Method java.lang.annotation.Annotation[][] getParameterAnnotations()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun getParameterAnnotations() : Array<Array<Annotation>>""/>
|
||||
<val name="value" val=""fun getParameterAnnotations() : Array<out Array<out Annotation>>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
</root>
|
||||
@@ -180,7 +180,7 @@
|
||||
<item name='java.math.BigInteger java.math.BigInteger[] divideAndRemainder(java.math.BigInteger)'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value"
|
||||
val=""fun divideAndRemainder(val value: BigInteger) : Array<BigInteger>""/>
|
||||
val=""fun divideAndRemainder(val value: BigInteger) : Array<out BigInteger>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<!-- java.math.BigDecimal -->
|
||||
|
||||
@@ -81,12 +81,12 @@
|
||||
</item>
|
||||
<item name='java.util.ArrayList java.lang.Object[] toArray()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun toArray() : Array<Any?>""/>
|
||||
<val name="value" val=""fun toArray() : Array<out Any?>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.ArrayList T[] toArray(T[])'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<T>""/>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.ArrayList java.util.Iterator<E> iterator()'>
|
||||
@@ -169,7 +169,7 @@
|
||||
</item>
|
||||
<item name='java.util.List T[] toArray(T[])'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<T>""/>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.HashSet boolean add(E)'>
|
||||
@@ -219,7 +219,7 @@
|
||||
</item>
|
||||
<item name='java.util.Collection T[] toArray(T[])'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<T>""/>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.Map.Entry K getKey()'>
|
||||
@@ -304,7 +304,7 @@
|
||||
</item>
|
||||
<item name='java.util.Set T[] toArray(T[])'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<T>""/>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.AbstractCollection boolean add(E)'>
|
||||
@@ -339,12 +339,12 @@
|
||||
</item>
|
||||
<item name='java.util.AbstractCollection java.lang.Object[] toArray()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun toArray() : Array<Any?>""/>
|
||||
<val name="value" val=""fun toArray() : Array<out Any?>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.AbstractCollection T[] toArray(T[])'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<T>""/>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.Enumeration E nextElement()'>
|
||||
@@ -554,12 +554,12 @@
|
||||
</item>
|
||||
<item name='java.util.LinkedList java.lang.Object[] toArray()'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun toArray() : Array<Any?>""/>
|
||||
<val name="value" val=""fun toArray() : Array<out Any?>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.LinkedList T[] toArray(T[])'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<T>""/>
|
||||
<val name="value" val=""fun <T> toArray(a : Array<out T>) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.Iterator E next()'>
|
||||
@@ -1102,7 +1102,7 @@
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value"
|
||||
val=""fun <T, U> copyOf(original : Array<out U>, newLength : Int, newType : Class<out Array<T>>) : Array<T>""/>
|
||||
val=""fun <T, U> copyOf(original : Array<out U>, newLength : Int, newType : Class<out Array<out T>>) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.Arrays byte[] copyOf(byte[], int)'>
|
||||
@@ -1157,7 +1157,7 @@
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value"
|
||||
val=""fun <T> copyOfRange(original : Array<out T>, from : Int, to : Int) : Array<T>""/>
|
||||
val=""fun <T> copyOfRange(original : Array<out T>, from : Int, to : Int) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.Arrays T[] copyOfRange(T[], int, int) 0'>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value"
|
||||
val=""fun <T, U> copyOfRange(original : Array<out U>, from : Int, to : Int, newType : Class<out Array<T>>) : Array<T>""/>
|
||||
val=""fun <T, U> copyOfRange(original : Array<out U>, from : Int, to : Int, newType : Class<out Array<out T>>) : Array<out T>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.Arrays T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>) 0'>
|
||||
@@ -1227,7 +1227,7 @@
|
||||
<item name='java.util.Arrays T[] copyOf(T[], int)'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value"
|
||||
val=""fun <T> copyOf(original : Array<out T>, newLength : Int) : Array<T?>""/>
|
||||
val=""fun <T> copyOf(original : Array<out T>, newLength : Int) : Array<out T?>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.Arrays java.lang.String toString(long[]) 0'>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<item name='java.util.regex.Pattern java.lang.String[] split(java.lang.CharSequence, int)'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun split(input : CharSequence, limit : Int) : Array<String>""/>
|
||||
<val name="value" val=""fun split(input : CharSequence, limit : Int) : Array<out String>""/>
|
||||
</annotation>
|
||||
</item>
|
||||
<item name='java.util.regex.Pattern java.lang.String[] split(java.lang.CharSequence) 0'>
|
||||
@@ -44,7 +44,7 @@
|
||||
</item>
|
||||
<item name='java.util.regex.Pattern java.lang.String[] split(java.lang.CharSequence)'>
|
||||
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
|
||||
<val name="value" val=""fun split(input : CharSequence) : Array<String>""/>
|
||||
<val name="value" val=""fun split(input : CharSequence) : Array<out String>""/>
|
||||
</annotation>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
|
||||
@@ -34,9 +34,9 @@ public inline fun String.toCharList(): List<Char> = toCharArray().toList()
|
||||
|
||||
public inline fun String.format(format : String, vararg args : Any?) : String = java.lang.String.format(format, args)
|
||||
|
||||
public inline fun String.split(regex : String) : Array<String> = (this as java.lang.String).split(regex) as Array<String>
|
||||
public inline fun String.split(regex : String) : Array<out String> = (this as java.lang.String).split(regex)
|
||||
|
||||
public inline fun String.split(ch : Char) : Array<String> = (this as java.lang.String).split(java.util.regex.Pattern.quote(ch.toString())) as Array<String>
|
||||
public inline fun String.split(ch : Char) : Array<out String> = (this as java.lang.String).split(java.util.regex.Pattern.quote(ch.toString()))
|
||||
|
||||
public inline fun String.substring(beginIndex : Int) : String = (this as java.lang.String).substring(beginIndex)
|
||||
|
||||
@@ -78,7 +78,7 @@ public inline fun String.replaceFirst(regex : String, replacement : String) : St
|
||||
|
||||
public inline fun String.charAt(index : Int) : Char = (this as java.lang.String).charAt(index)
|
||||
|
||||
public inline fun String.split(regex : String, limit : Int) : Array<String> = (this as java.lang.String).split(regex, limit)
|
||||
public inline fun String.split(regex : String, limit : Int) : Array<out String> = (this as java.lang.String).split(regex, limit)
|
||||
|
||||
public inline fun String.codePointAt(index : Int) : Int = (this as java.lang.String).codePointAt(index)
|
||||
|
||||
|
||||
@@ -206,7 +206,7 @@ fun File.readLines(charset : String = "UTF-8") : List<String> {
|
||||
/**
|
||||
* Returns an array of files and directories in the directory that satisfy the specified filter.
|
||||
*/
|
||||
fun File.listFiles(filter : (file : File) -> Boolean) : Array<File>? = listFiles(
|
||||
fun File.listFiles(filter : (file : File) -> Boolean) : Array<out File>? = listFiles(
|
||||
object : FileFilter {
|
||||
override fun accept(file: File) = filter(file)
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ class StringUtilTest() : TestCase() {
|
||||
|
||||
fun testToRegex() {
|
||||
val re = """foo""".toRegex()
|
||||
val list = re.split("hellofoobar").toList()
|
||||
val list = (re.split("hellofoobar") as Array<String>).toList()
|
||||
assertEquals(arrayList("hello", "bar"), list)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import java.util.ArrayList
|
||||
import java.util.TreeMap
|
||||
import org.w3c.dom.*
|
||||
import org.w3c.dom.events.*
|
||||
import java.lang.reflect.*
|
||||
|
||||
/**
|
||||
* This tool generates JavaScript stubs for classes available in the JDK which are already available in the browser environment
|
||||
@@ -139,7 +140,7 @@ import js.noImpl
|
||||
}
|
||||
}
|
||||
for (method in validMethods) {
|
||||
val parameterTypes = method.getParameterTypes()!!
|
||||
val parameterTypes = method.getParameterTypes()!! as jet.Array<Class<out Any?>?>
|
||||
|
||||
// TODO in java 7 its not easy with reflection to get the parameter argument name...
|
||||
var counter = 0
|
||||
@@ -148,7 +149,7 @@ import js.noImpl
|
||||
println(" public fun ${method.getName()}($parameters): $returnType = js.noImpl")
|
||||
}
|
||||
}
|
||||
val fields = klass.getDeclaredFields()
|
||||
val fields = klass.getDeclaredFields() as jet.Array<Field>
|
||||
if (fields != null) {
|
||||
if (fields.notEmpty()) {
|
||||
println("")
|
||||
|
||||
Reference in New Issue
Block a user