diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java index b171272a12f..47861362c65 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java @@ -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 { diff --git a/compiler/testData/diagnostics/tests/jdk-annotations/ArrayListToArray.kt b/compiler/testData/diagnostics/tests/jdk-annotations/ArrayListToArray.kt index d1e7a54987c..d12dc59e415 100644 --- a/compiler/testData/diagnostics/tests/jdk-annotations/ArrayListToArray.kt +++ b/compiler/testData/diagnostics/tests/jdk-annotations/ArrayListToArray.kt @@ -6,5 +6,5 @@ fun main(args : Array) { val al : ArrayList = ArrayList() // A type mismatch on this line means that jdk-annotations were not loaded - al.toArray(Array(3, {1})) : Array + al.toArray(Array(3, {1})) : Array } diff --git a/compiler/testData/loadJava/ArrayTypeVariance.kt b/compiler/testData/loadJava/ArrayTypeVariance.kt index 7883a32e19b..b887eb0da40 100644 --- a/compiler/testData/loadJava/ArrayTypeVariance.kt +++ b/compiler/testData/loadJava/ArrayTypeVariance.kt @@ -1,7 +1,7 @@ package test public class ArrayTypeVariance : java.lang.Object() { - public fun toArray(p0: Array?): Array? { + public fun toArray(p0: Array?): Array? { throw UnsupportedOperationException() } } diff --git a/compiler/testData/loadJava/ArrayTypeVariance.txt b/compiler/testData/loadJava/ArrayTypeVariance.txt index 5ff82f8222c..5837a9355e2 100644 --- a/compiler/testData/loadJava/ArrayTypeVariance.txt +++ b/compiler/testData/loadJava/ArrayTypeVariance.txt @@ -2,5 +2,5 @@ namespace test public final class test.ArrayTypeVariance : java.lang.Object { public final /*constructor*/ fun (): test.ArrayTypeVariance - public final fun toArray(/*0*/ p0: jet.Array?): jet.Array? + public final fun toArray(/*0*/ p0: jet.Array?): jet.Array? } diff --git a/compiler/testData/loadJava/FieldOfArrayType.kt b/compiler/testData/loadJava/FieldOfArrayType.kt index 128ae0d364c..42a4a936eca 100644 --- a/compiler/testData/loadJava/FieldOfArrayType.kt +++ b/compiler/testData/loadJava/FieldOfArrayType.kt @@ -1,5 +1,5 @@ package test public open class FieldOfArrayType() : java.lang.Object() { - public var files: Array? = null + public var files: Array? = null } diff --git a/compiler/testData/loadJava/FieldOfArrayType.txt b/compiler/testData/loadJava/FieldOfArrayType.txt index f654bb68067..284307ab5f9 100644 --- a/compiler/testData/loadJava/FieldOfArrayType.txt +++ b/compiler/testData/loadJava/FieldOfArrayType.txt @@ -2,5 +2,5 @@ namespace test public open class test.FieldOfArrayType : java.lang.Object { public final /*constructor*/ fun (): test.FieldOfArrayType - public final var files: jet.Array? + public final var files: jet.Array? } diff --git a/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.java b/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.java index d85c88c6055..909ec74ee76 100644 --- a/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.java +++ b/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.java @@ -22,12 +22,12 @@ import java.util.ArrayList; import jet.runtime.typeinfo.KotlinSignature; public class PropertyArrayTypes { - @KotlinSignature("var arrayOfArrays : Array>") + @KotlinSignature("var arrayOfArrays : Array>") public String[][] arrayOfArrays; - @KotlinSignature("var array : Array") + @KotlinSignature("var array : Array") public String[] array; - @KotlinSignature("var genericArray : Array") + @KotlinSignature("var genericArray : Array") public T[] genericArray; } diff --git a/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.kt b/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.kt index ee6898c1ca3..f6694050890 100644 --- a/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.kt +++ b/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.kt @@ -3,7 +3,7 @@ package test import java.util.* public open class PropertyArrayTypes() : java.lang.Object() { - public var arrayOfArrays : Array> = null!! - public var array : Array = null!! - public var genericArray : Array = null!! + public var arrayOfArrays : Array> = null!! + public var array : Array = null!! + public var genericArray : Array = null!! } diff --git a/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.txt b/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.txt index 916091ed0b5..f691e5e355b 100644 --- a/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.txt +++ b/compiler/testData/loadJava/kotlinSignature/PropertyArrayTypes.txt @@ -2,7 +2,7 @@ namespace test public open class test.PropertyArrayTypes : java.lang.Object { public final /*constructor*/ fun (): test.PropertyArrayTypes - public final var array: jet.Array - public final var arrayOfArrays: jet.Array> - public final var genericArray: jet.Array + public final var array: jet.Array + public final var arrayOfArrays: jet.Array> + public final var genericArray: jet.Array } diff --git a/compiler/testData/loadJava/modality/ModalityOfFakeOverrides.txt b/compiler/testData/loadJava/modality/ModalityOfFakeOverrides.txt index 5209d18bdf2..13d902434f1 100644 --- a/compiler/testData/loadJava/modality/ModalityOfFakeOverrides.txt +++ b/compiler/testData/loadJava/modality/ModalityOfFakeOverrides.txt @@ -25,6 +25,6 @@ public open class test.ModalityOfFakeOverrides : java.util.AbstractList - public open override /*1*/ /*fake_override*/ fun toArray(): jet.Array - public open override /*1*/ /*fake_override*/ fun toArray(/*0*/ p0: jet.Array): jet.Array + public open override /*1*/ /*fake_override*/ fun toArray(): jet.Array + public open override /*1*/ /*fake_override*/ fun toArray(/*0*/ p0: jet.Array): jet.Array } diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AnnotationJavaDescriptorResolverTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/AnnotationJavaDescriptorResolverTest.java index d2cc3842c4a..092e517145a 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AnnotationJavaDescriptorResolverTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/AnnotationJavaDescriptorResolverTest.java @@ -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?", "[\"test\", \"test2\"]"); + DEFAULT_PACKAGE + ".MyAnnotation2", "jet.Array?", "[\"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?", + checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array?", "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", values); + checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array?", "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", values); + checkArrayCompileTimeConstant((ArrayValue) actualCompileTimeConstant, "jet.Array?", "jet.String", values); } private void compileJavaFile(@NotNull String fileRelativePath, @Nullable String classPath) diff --git a/jdk-annotations/java/io/annotations.xml b/jdk-annotations/java/io/annotations.xml index c984c5944fc..2c3506cd35e 100644 --- a/jdk-annotations/java/io/annotations.xml +++ b/jdk-annotations/java/io/annotations.xml @@ -57,7 +57,7 @@ - + @@ -66,22 +66,22 @@ - + - + - + - + @@ -89,7 +89,7 @@ - + diff --git a/jdk-annotations/java/lang/annotations.xml b/jdk-annotations/java/lang/annotations.xml index 1a58b8377c5..c2679f8ddde 100644 --- a/jdk-annotations/java/lang/annotations.xml +++ b/jdk-annotations/java/lang/annotations.xml @@ -428,7 +428,7 @@ - + @@ -637,7 +637,7 @@ - + @@ -649,7 +649,7 @@ - + @@ -823,24 +823,24 @@ - + - + - + - + @@ -863,26 +863,26 @@ - + - + - + + val=""fun getDeclaredConstructors() : Array<out Constructor<out Any?>>""/> @@ -920,7 +920,7 @@ - + diff --git a/jdk-annotations/java/lang/reflect/annotations.xml b/jdk-annotations/java/lang/reflect/annotations.xml index 6a3a4891079..31a21ec72ea 100644 --- a/jdk-annotations/java/lang/reflect/annotations.xml +++ b/jdk-annotations/java/lang/reflect/annotations.xml @@ -153,7 +153,7 @@ - + \ No newline at end of file diff --git a/jdk-annotations/java/math/annotations.xml b/jdk-annotations/java/math/annotations.xml index f29fcd4483c..f5ff7727123 100644 --- a/jdk-annotations/java/math/annotations.xml +++ b/jdk-annotations/java/math/annotations.xml @@ -180,7 +180,7 @@ + val=""fun divideAndRemainder(val value: BigInteger) : Array<out BigInteger>""/> diff --git a/jdk-annotations/java/util/annotations.xml b/jdk-annotations/java/util/annotations.xml index ef30d4afafb..4bb43fb8b75 100644 --- a/jdk-annotations/java/util/annotations.xml +++ b/jdk-annotations/java/util/annotations.xml @@ -81,12 +81,12 @@ - + - + @@ -169,7 +169,7 @@ - + @@ -219,7 +219,7 @@ - + @@ -304,7 +304,7 @@ - + @@ -339,12 +339,12 @@ - + - + @@ -554,12 +554,12 @@ - + - + @@ -1102,7 +1102,7 @@ + val=""fun <T, U> copyOf(original : Array<out U>, newLength : Int, newType : Class<out Array<out T>>) : Array<out T>""/> @@ -1157,7 +1157,7 @@ + val=""fun <T> copyOfRange(original : Array<out T>, from : Int, to : Int) : Array<out T>""/> @@ -1167,7 +1167,7 @@ + val=""fun <T, U> copyOfRange(original : Array<out U>, from : Int, to : Int, newType : Class<out Array<out T>>) : Array<out T>""/> @@ -1227,7 +1227,7 @@ + val=""fun <T> copyOf(original : Array<out T>, newLength : Int) : Array<out T?>""/> diff --git a/jdk-annotations/java/util/regex/annotations.xml b/jdk-annotations/java/util/regex/annotations.xml index 94dd551de85..a810679253f 100644 --- a/jdk-annotations/java/util/regex/annotations.xml +++ b/jdk-annotations/java/util/regex/annotations.xml @@ -36,7 +36,7 @@ - + @@ -44,7 +44,7 @@ - + diff --git a/libraries/stdlib/src/kotlin/StringsJVM.kt b/libraries/stdlib/src/kotlin/StringsJVM.kt index f2170bd0a53..6460bfb4277 100644 --- a/libraries/stdlib/src/kotlin/StringsJVM.kt +++ b/libraries/stdlib/src/kotlin/StringsJVM.kt @@ -34,9 +34,9 @@ public inline fun String.toCharList(): List = 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 = (this as java.lang.String).split(regex) as Array +public inline fun String.split(regex : String) : Array = (this as java.lang.String).split(regex) -public inline fun String.split(ch : Char) : Array = (this as java.lang.String).split(java.util.regex.Pattern.quote(ch.toString())) as Array +public inline fun String.split(ch : Char) : Array = (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 = (this as java.lang.String).split(regex, limit) +public inline fun String.split(regex : String, limit : Int) : Array = (this as java.lang.String).split(regex, limit) public inline fun String.codePointAt(index : Int) : Int = (this as java.lang.String).codePointAt(index) diff --git a/libraries/stdlib/src/kotlin/io/Files.kt b/libraries/stdlib/src/kotlin/io/Files.kt index 4efe9616ee7..0aa87ee1dae 100644 --- a/libraries/stdlib/src/kotlin/io/Files.kt +++ b/libraries/stdlib/src/kotlin/io/Files.kt @@ -206,7 +206,7 @@ fun File.readLines(charset : String = "UTF-8") : List { /** * Returns an array of files and directories in the directory that satisfy the specified filter. */ -fun File.listFiles(filter : (file : File) -> Boolean) : Array? = listFiles( +fun File.listFiles(filter : (file : File) -> Boolean) : Array? = listFiles( object : FileFilter { override fun accept(file: File) = filter(file) } diff --git a/libraries/stdlib/test/StringUtilTest.kt b/libraries/stdlib/test/StringUtilTest.kt index 8e997b3645e..6e3c09accd8 100644 --- a/libraries/stdlib/test/StringUtilTest.kt +++ b/libraries/stdlib/test/StringUtilTest.kt @@ -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).toList() assertEquals(arrayList("hello", "bar"), list) } } diff --git a/libraries/stdlib/test/org/jetbrains/kotlin/tools/GenerateJavaScriptStubs.kt b/libraries/stdlib/test/org/jetbrains/kotlin/tools/GenerateJavaScriptStubs.kt index 1ca0d7e5b37..4caff7187ca 100644 --- a/libraries/stdlib/test/org/jetbrains/kotlin/tools/GenerateJavaScriptStubs.kt +++ b/libraries/stdlib/test/org/jetbrains/kotlin/tools/GenerateJavaScriptStubs.kt @@ -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?> // 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 if (fields != null) { if (fields.notEmpty()) { println("")