From 6f8f151db5cf9e3af78603dc6b3e3199dc7385f6 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Fri, 20 Jul 2012 16:35:53 +0400 Subject: [PATCH] added java.lang.Comparable to JavaTypeTransformer --- .../jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java | 2 +- compiler/testData/diagnostics/tests/regressions/kt335.336.kt | 3 +-- libraries/stdlib/src/kotlin/JLangIterablesSpecial.kt | 2 +- libraries/stdlib/src/kotlin/JUtil.kt | 4 ++-- 4 files changed, 5 insertions(+), 6 deletions(-) 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 c4c66400a85..89d4422d395 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 @@ -256,7 +256,7 @@ public class JavaTypeTransformer { classDescriptorMap.put(new FqName("java.lang.CharSequence"), JetStandardLibrary.getInstance().getCharSequence()); classDescriptorMap.put(new FqName("java.lang.Throwable"), JetStandardLibrary.getInstance().getThrowable()); classDescriptorMap.put(new FqName("java.lang.Number"), JetStandardLibrary.getInstance().getNumber()); - + classDescriptorMap.put(new FqName("java.lang.Comparable"), JetStandardLibrary.getInstance().getComparable()); } return classDescriptorMap; } diff --git a/compiler/testData/diagnostics/tests/regressions/kt335.336.kt b/compiler/testData/diagnostics/tests/regressions/kt335.336.kt index 2b8eedf9727..ed75c27ed38 100644 --- a/compiler/testData/diagnostics/tests/regressions/kt335.336.kt +++ b/compiler/testData/diagnostics/tests/regressions/kt335.336.kt @@ -2,9 +2,8 @@ // KT-335 Type inference fails on Collections.sort import java.util.* -import java.lang.Comparable as Comparable -fun > List.sort() { +fun > List.sort() { Collections.sort(this) // Error here } diff --git a/libraries/stdlib/src/kotlin/JLangIterablesSpecial.kt b/libraries/stdlib/src/kotlin/JLangIterablesSpecial.kt index 6917d97b472..0a3cd77e2c3 100644 --- a/libraries/stdlib/src/kotlin/JLangIterablesSpecial.kt +++ b/libraries/stdlib/src/kotlin/JLangIterablesSpecial.kt @@ -109,7 +109,7 @@ public fun java.lang.Iterable.withIndices(): java.util.List<#(Int, T)> { return answer } -public inline fun > java.lang.Iterable.sort() : List { +public inline fun > java.lang.Iterable.sort() : List { val list = toList() java.util.Collections.sort(list) return list diff --git a/libraries/stdlib/src/kotlin/JUtil.kt b/libraries/stdlib/src/kotlin/JUtil.kt index cce812d1766..aeef454137f 100644 --- a/libraries/stdlib/src/kotlin/JUtil.kt +++ b/libraries/stdlib/src/kotlin/JUtil.kt @@ -33,9 +33,9 @@ public inline fun java.util.Collection?.orEmpty() : Collection /** TODO these functions don't work when they generate the Array versions when they are in JLIterables */ -public inline fun > java.lang.Iterable.toSortedList() : List = toList().sort() +public inline fun > java.lang.Iterable.toSortedList() : List = toList().sort() -public inline fun > java.lang.Iterable.toSortedList(comparator: java.util.Comparator) : List = toList().sort(comparator) +public inline fun > java.lang.Iterable.toSortedList(comparator: java.util.Comparator) : List = toList().sort(comparator) // List APIs