Commit Graph

2874 Commits

Author SHA1 Message Date
Mikhail Bogdanov 4f7599076c Postpone JvmDefault deprecation. Revert "Deprecate @JvmDefault"
This reverts commit c11f3868
2020-05-04 10:02:16 +02:00
Abduqodiri Qurbonzoda ec166db506 Implement collection builders 2020-04-30 02:28:41 +03:00
Alexander Udalov 9fa8e009c6 Support equals/hashCode for fun interfaces in JVM and JVM_IR
#KT-33455 Fixed
2020-04-29 12:15:50 +02:00
Ilya Gorbunov 9c2e149b5b Expect/actual kotlin.Throws annotation
#KT-34848
2020-04-29 09:17:54 +03:00
Vadim Semenov f4cea1b0cd Fix typo in KDoc for Element.getPolymorphicElement 2020-04-29 07:35:22 +03:00
Anton Bannykh 2992d49a1d JS IR: fix findAssociatedObjects for primitive type KClass'es 2020-04-28 19:08:44 +03:00
Dmitry Petrov 878e838f0b JVM: Suspend converted references inherit AdaptedFunctionReference 2020-04-28 18:56:37 +03:00
Anton Bannykh e8a6ddceaa JS IR: hide runtime helpers from users 2020-04-28 16:40:07 +03:00
Anton Bannykh 442331acc9 IR JS: support findAssociatedObject feature (KT-37418 fixed) 2020-04-27 17:23:19 +03:00
Abduqodiri Qurbonzoda 2307692064 Remove String.format with non-null locale
Introducing new overloads with @SinceKotlin(1.4) annotation
and marking the old ones @LowPriorityInOverloadResolution breaks
all code that uses the format(locale, args) overload with
-api-version 1.3. Because the low priority of the non-1.4 version makes
format(args) preferable in all cases.
For example, "%02X".format(Locale.ROOT, 1) throws
IllegalFormatConversionException: x != java.util.Locale.
2020-04-24 18:00:37 +03:00
Alexey Trilis 3ad597ca5c Introduce MSE and EME APIs to Kotlin/JS stdlib
#KT-37910 Fixed
2020-04-23 15:35:04 +03:00
Abduqodiri Qurbonzoda 5af76a07d4 Fix CharArray sort in JS IR-backend 2020-04-22 23:46:50 +03:00
Abduqodiri Qurbonzoda d6472aa700 Reverse range and sortDescending range #KT-36955 2020-04-20 22:06:28 +03:00
Dmitry Petrov 05cb0e8994 KNVE: support in JVM_IR and JS_IR 2020-04-20 20:07:52 +03:00
Dmitry Petrov b06780988d KNVE: add doc comment and mark as PublishedApi 2020-04-20 20:07:51 +03:00
Vyacheslav Gerasimov 8d06744a6a Set local build version to 1.4.255-SNAPSHOT
#KT-36128

(cherry picked from commit a8650ccfd2)
2020-04-20 18:48:00 +03:00
Abduqodiri Qurbonzoda 57597f5900 Fix String.toHashSet tests 2020-04-20 04:08:29 +03:00
Abduqodiri Qurbonzoda 4d7597fa5a Document 'reduce' operation behavior on empty collections #KT-23322 2020-04-20 03:37:12 +03:00
Abduqodiri Qurbonzoda 0d5ec27ac4 toHashSet is suboptimal for inputs with a lot of duplicates #KT-23142 2020-04-19 07:58:49 +03:00
Ilya Gorbunov 893021f22b Introduce runningFold and runningReduce operations
runningFold is a synonym for scan,
runningReduce replaces scanReduce.

#KT-38060
2020-04-15 23:28:07 +03:00
Ilya Gorbunov ea1e16e309 Delegate properties to property references
#KT-8658
2020-04-15 18:37:33 +03:00
Abduqodiri Qurbonzoda 08ff52bee4 Introduce StringBuilder.appendLine in stdlib-common #KT-37839 2020-04-13 14:27:53 +03:00
Ilya Gorbunov ec9c7c98cd Use stubs in reduced js-ir runtime instead of new throwable extensions
To avoid bringing a lot of API required for their full implementation
to reduced runtime.
2020-04-13 09:32:42 +03:00
Ilya Gorbunov 38b1e6beab Make Throwable.printStackTrace() common
#KT-38044
2020-04-13 09:32:42 +03:00
Ilya Gorbunov 408b441a71 Rename extension toStringWithTrace to stackTraceToString
#KT-37603
2020-04-13 09:32:42 +03:00
Ilya Gorbunov 4cc9909a70 Support Firefox stack format
It doesn't include the exception type and message.
2020-04-13 09:32:42 +03:00
Ilya Gorbunov 641f1a55cb Omit common stack frames in JS full stack trace
#KT-37603
2020-04-13 09:32:41 +03:00
Ilya Gorbunov 5fe8071d71 Prevent infinite recursion in case of circular suppressed chains
#KT-37603
2020-04-13 09:32:41 +03:00
Ilya Gorbunov 552bcdb31b Introduce Throwable.toStringWithTrace
#KT-37603
2020-04-13 09:32:41 +03:00
Ilya Gorbunov 7b7263c5bf Implement common Throwable.addSuppressed/suppressed extensions
Instead of `suppressed` Array we provide `suppressedExceptions` List

#KT-23737
2020-04-13 09:32:41 +03:00
Abduqodiri Qurbonzoda f2c05bf82c IR: Move annotation @JsExport to common source set in stdlib #KT-35966 2020-04-11 04:03:57 +03:00
Abduqodiri Qurbonzoda 4a7b1b210a Add onEachIndexed similar to forEachIndexed #KT-37161 2020-04-11 03:47:47 +03:00
Ilya Gorbunov 15319eb88e Implement in-place shuffle for arrays
Minor: reorder shuffle/shuffled extensions more consistently

#KT-25651 Fixed
2020-04-10 11:04:51 +03:00
Ilya Gorbunov e58f1c8932 Introduce Sequence.shuffled
#KT-37751
2020-04-10 10:59:40 +03:00
Dmitry Petrov 9941c255b9 KT-30330 KotlinNothingValueException 2020-04-10 08:47:02 +03:00
Ilya Gorbunov fc9ac67980 Tune parameters of time-sensitive tests
Lessen CPU load on the main thread.
Remove fragile checks.
2020-04-10 01:38:46 +03:00
Mikhail Bogdanov 0ddef7e4e4 Add new options for '-Xjvm-default' 2020-04-09 07:37:33 +02:00
Mikhail Bogdanov c11f38688e Deprecate @JvmDefault 2020-04-09 07:37:31 +02:00
Alexander Udalov 9f758b4f25 Support toString for AdaptedFunctionReference subclasses
Also make it serializable like other lambdas, suspend lambdas and normal
callable references.
2020-04-08 19:16:38 +02:00
Alexander Udalov 0681231e99 Introduce AdaptedFunctionReference runtime class
It's used as a superclass for anonymous classes for adapted function
references. Its main feature is that it _doesn't_ inherit from KFunction
(as opposed to FunctionReference), as per the decision to postpone
reflection support for adapted function references in KT-36024.

 #KT-36024 Fixed
2020-04-08 19:15:38 +02:00
Ilya Gorbunov d115792d9a Move a couple ad-hoc properties to buildSrc/BuildPropertiesExt 2020-04-07 10:54:34 +03:00
Abduqodiri Qurbonzoda 508d0edd6d Add the onEach extension function to the Array #KT-28290 2020-04-07 05:34:20 +03:00
Ilya Gorbunov 01b463993b Use SinceKotlin in primitive companion objects for documentation purpose
Also suppress "div by zero" warnings in JS primitive companions.
2020-04-02 04:43:00 +03:00
Ilya Gorbunov a225842f9b Test that known Floats can fit in FloatArray without over/underflow
But some precision loss can still happen in JS.

Relates to KT-24975
2020-04-02 04:04:04 +03:00
Ilya Gorbunov d88d2cb058 Test new Double/Float constants
Split test expectations based on actual support of enforced Float range

KT-29182, KT-13887
2020-04-02 04:04:04 +03:00
Alexander Udalov 3269a7e693 Change behavior of equals/hashCode on adapted function references
Function references are now equal if they refer to the same function,
and if the parameter/return type adaptation, which happens when a
reference is used where some function type is expected, is exactly the
same. This includes the number of expected positional parameters (which
can be affected by defaults/varargs), whether the coercion of vararg
parameter to Array type happened, and whether the coercion of return
type to Unit happened.

 #KT-37543 Fixed
2020-04-01 14:18:49 +02:00
Ilya Gorbunov f3fc1197ae Add SIZE_BITS and SIZE_BYTES constants to Double and Float
#KT-29182
2020-04-01 08:06:57 +03:00
Ilya Gorbunov 1c93911279 Make Double and Float known values constant
#KT-13887
2020-04-01 08:06:57 +03:00
Ilya Gorbunov 2bb36899da Introduce 'fail' method to throw AssertionError with cause
#KT-37804
2020-03-31 13:37:03 +03:00
Miguel Serra 61ad32f012 Samples of Map functions "contains" and "isNotEmpty"
Co-authored-by: Ilya Gorbunov <ilya.gorbunov@jetbrains.com>
2020-03-31 04:54:51 +03:00