Alexander Udalov
3bc0eaff59
Fix warnings in stdlib samples and test modules
2021-08-10 17:57:50 +02:00
Abduqodiri Qurbonzoda
b65c477e68
Regex.splitToSequence, CharSequence.splitToSequence(Regex) #KT-23351
2021-07-20 14:09:24 +00:00
Ilmir Usmanov
151478aa27
Raise deprecations of suspend calls with dangling lambda to error
...
#KT-22562
2021-07-19 08:36:36 +00:00
Ilya Gorbunov
5072653957
Duration: parse explicit positive values parenthesized
2021-07-12 04:39:28 +00:00
Ilya Gorbunov
682cb8e34a
Duration default toString: use 0, 1, 2, 3, 6, or 9 decimal digits
...
KT-42851
2021-07-12 04:39:27 +00:00
Ilya Gorbunov
0427eec20f
Quote invalid strings in exception messages
2021-07-12 04:39:26 +00:00
Ilya Gorbunov
3f6e2be687
Duration: do not use scientific format for large values
...
The largest duration value formatted in ns with maximal decimals
would fit in 40 chars.
2021-07-12 04:39:25 +00:00
Ilya Gorbunov
1be1e5279c
Duration: parse and format negative values parenthesized
2021-07-12 04:39:25 +00:00
Ilya Gorbunov
ca1a9e4ca3
Duration: longer than long values in ISO components, test negative cases
2021-07-12 04:39:24 +00:00
Ilya Gorbunov
1c6ab08220
Introduce functions to parse a duration from a string KT-45325
2021-07-12 04:39:23 +00:00
Ilya Gorbunov
7ab6f6c9b2
Change Duration.INFINITE.toIsoString representation
2021-07-12 04:39:23 +00:00
Ilya Gorbunov
ae3d9cc3cd
Small durations are formatted with sub-second units KT-42851
2021-07-12 04:39:22 +00:00
Ilya Gorbunov
150ce812f1
Use days component in the default duration format KT-42851
2021-07-12 04:39:21 +00:00
Ilya Gorbunov
255c4b405e
Duration: round Double value to Long ns instead of truncating it KT-47675
2021-07-12 04:39:21 +00:00
Ilya Gorbunov
42cd2e65e6
Change Duration.toString format KT-42851
2021-07-12 04:39:20 +00:00
Ilya Gorbunov
455fee29e4
Find correct next match after matchAt and matchEntire KT-47676
2021-07-10 21:31:20 +03:00
Ilya Gorbunov
28a0698463
Regex.matchAt/matchesAt #KT-34021
2021-07-10 21:31:19 +03:00
Abduqodiri Qurbonzoda
47aa04d55d
Test fix: java6 doesn't throw on invalid AbstractMutableList.addAll index
...
If the collection of elements to be added is empty, java6 implementation
of AbstractMutableList.addAll doesn't throw on invalid index.
The failing test was introduced in 59031543e2
which fixed #KT-47211.
2021-06-28 13:58:41 +00:00
Abduqodiri Qurbonzoda
59031543e2
Throw on invalid AbstractMutableList.addAll index #KT-47211
2021-06-16 11:59:46 +00:00
Abduqodiri Qurbonzoda
d934c97bf5
Equivalize isLowerCase and isUpperCase behavior in all platforms #KT-46184
2021-05-31 13:42:46 +03:00
Abduqodiri Qurbonzoda
54994a289f
Support all digit chars on JS and Native #KT-46002
2021-05-27 06:56:52 +03:00
Ilya Gorbunov
ed3542cdf5
Support covariant MutableMap.entries.remove in JS/IR
...
Workaround for KT-43321
Follow up to KT-41278
2021-04-26 17:45:27 +03:00
Alexander Udalov
168d8b07a8
Minor, fix warnings on new stdlib API
...
In modules where allWarningsAsErrors is not yet enabled.
2021-04-15 18:39:06 +02:00
Ilya Gorbunov
d062f54360
Remove test exclusions after KT-45136 is fixed
2021-04-09 06:45:11 +03:00
Abduqodiri Qurbonzoda
33b44585c4
Deprecate sumBy and sumByDouble with WARNING
2021-04-08 03:48:01 +03:00
Abduqodiri Qurbonzoda
aa543c6631
Migrate stdlib, tests and samples to new case conversion api
2021-04-08 03:22:01 +03:00
Ilya Gorbunov
b64b96eee6
Deprecate Char-to-Number conversions in stdlib (JVM and JS)
...
- Int.toChar was left non-deprecated because the replacement is not intrinsic yet.
- Number.toChar was left non-deprecated because otherwise the deprecation propagates to the override, Int.toChar.
KT-23451
2021-04-07 18:30:20 +03:00
Ilya Gorbunov
22ca412dd2
Fix case-insensitive character-wise comparison KT-45496
...
- Step 1: add failing tests
- Step 2: fix common case insensitive Char.equals
- Step 3: fix case insensitive String.equals in K/JS
- Step 4: enable unicode case folding in K/JS Regexes and
string replacement (KT-45928)
- Step 5: fix case insensitive char comparison in K/N in String functions
String.replace, equals, compareTo with ignoreCase
2021-04-07 14:43:41 +03:00
Abduqodiri Qurbonzoda
d9ab96126d
Advance deprecation level of mixed Int/FP overloads of ClosedRange.contains to HIDDEN KT-22423
2021-04-07 00:23:34 +03:00
Abduqodiri Qurbonzoda
d28d0a6321
Advance String(CharArray) deprecation level to ERROR in Common and JS
2021-04-07 00:23:29 +03:00
Ilya Gorbunov
0e93924ff3
Duration: inWholeUnits properties instead of inUnits
...
Introduce conversion properties returning Long values,
deprecate the old ones returning Doubles.
2021-04-02 17:44:10 +03:00
Ilya Gorbunov
11d15f3343
Make Duration storage ranges symmetric and non-overlapping
...
Increase accuracy of multiplication and division.
2021-04-02 17:44:10 +03:00
Ilya Gorbunov
4fd2254f3f
Advance TestTimeSource more precisely
...
Change durations in its test so that they hold precise number
of nanoseconds
2021-04-02 17:44:08 +03:00
Ilya Gorbunov
fa7460ba48
Store Duration value as a multi-range Long
...
Now precision loss happens at bigger durations.
This changes the binary API due different underlying type of Duration.
2021-04-02 17:43:20 +03:00
Dmitriy Dolovov
9aa16faa27
Test integer overflow on div/rem of Int.MIN_VALUE by -1
...
^KT-45136
2021-03-24 09:55:52 +03:00
Abduqodiri Qurbonzoda
ff5b2404af
Introduce firstNotNullOf and firstNotNullOfOrNull #KT-12109
2021-03-12 09:27:14 +03:00
Ilya Gorbunov
a7fda66fa1
Suggest duration static factories instead of number extension properties
...
Introduce Duration companion functions to convert numbers to Duration.
Deprecate number extension properties and propose to use these
new functions instead.
2021-03-10 13:23:32 +03:00
Abduqodiri Qurbonzoda
421cb6971d
Optimized toArray method for ArrayDeque and ListBuilder #KT-42720
2021-03-06 11:14:50 +03:00
Abduqodiri Qurbonzoda
ed57bcb3b1
Commonize and generalize JVM-only String.contentEquals #KT-42840
2021-03-06 11:14:30 +03:00
Ilya Gorbunov
50d4979531
Floor division and remainder for numeric types KT-26234
...
- floorDiv/mod for unsigned types
- floorDiv/mod for signed types
- mod for floating point types
- mod return type: same as divisor for integer types
- Update JS API dump
- Avoid triggering division overflow in tests due to K/N
- Workaround failing test in JS-legacy
2021-03-05 07:32:16 +03:00
Abduqodiri Qurbonzoda
0c9205423f
Add String case conversion tests
2021-03-02 01:11:42 +03:00
Abduqodiri Qurbonzoda
49ce776bf4
Add Char case conversion tests
2021-03-02 01:11:39 +03:00
Ilya Gorbunov
ca6ce151a2
Unify test package names in kotlin-stdlib tests
...
This makes 'test.' an implicit package prefix, thus fixing the inspection
"Package directive doesn't match file location" positive in almost all
test files.
2021-02-25 09:58:14 +03:00
Abduqodiri Qurbonzoda
46b7a774b5
Commonize CharCategory and related functions #KT-39177 #KT-43216 #KT-39906 #KT-30652
2021-01-28 01:41:24 +03:00
Ilya Gorbunov
3c37bbaf64
Duration: normalize to avoid negative zeroes (KT-44168)
...
The current comparison method of inline classes makes
durations of positive and negative zeroes non-equal.
To avoid that, normalize the duration value upon construction
preventing negative zero being stored.
2020-12-31 19:44:39 +03:00
Ilya Gorbunov
ae6f10df3b
Duration: reject NaN duration values (KT-44168)
2020-12-31 19:44:10 +03:00
Abduqodiri Qurbonzoda
662787b12b
Straighten Char-to-code and Char-to-digit conversions out #KT-23451
2020-12-31 12:07:41 +03:00
Abduqodiri Qurbonzoda
1314adb6f7
Locale-agnostic case conversions by default #KT-43023
2020-12-30 10:08:25 +03:00
Svyatoslav Scherbina
0f4173cdfa
Fix running stdlib tests in worker on Native
...
Add `@SharedImmutable` or `@ThreadLocal` where required.
2020-12-14 19:03:06 +03:00
Ilya Gorbunov
28168bf230
Correctly implement specialized MutableEntrySet.contains KT-41278
...
This is a workaround for the problem KT-43321.
Introduce an intermediate abstract set specialized for Map.Entry elements
and implement 'contains(Map.Entry)' method there.
Then inherit that intermediate set in entrysets of JS HashMap,
JS LinkedHashMap, JVM MapBuilder, that are specialized for
MutableMap.MutableEntry elements, so that no override of 'contains' is
required anymore.
This allows to avoid incorrect special 'contains' bridge being generated
that otherwise rejects all arguments except ones of MutableEntry type.
2020-12-14 12:42:47 +03:00