Ilya Gorbunov
6197c5bf7f
Add sample for coerceIn with floating point range
...
#KT-20357
2018-01-11 09:05:28 +03:00
Ilya Gorbunov
8fc83e3ff5
Add samples for coerceIn, coerceAtLeast, coerceAtMost for comparable types
...
#KT-20357
2018-01-11 09:05:28 +03:00
shiraji
17573a3c21
Add samples for coerceIn
...
#KT-20357
2018-01-11 09:05:28 +03:00
shiraji
4559da9848
Add samples for coerceAtMost
...
#KT-20357
2018-01-11 09:05:28 +03:00
shiraji
db607e231c
Add samples for coerceAtLeast
...
#KT-20357
2018-01-11 09:05:27 +03:00
Ilmir Usmanov
5dbab2f907
Disable tail call optimization, if the call is inside try block
...
#KT-21165: Fixed
2018-01-10 20:13:55 +03:00
Jake Wharton
11696ac4c0
Implement String.toBoolean() for JS.
...
#KT-16348
2018-01-10 15:32:49 +03:00
Dmitry Jemerov
e80dae1802
Update copyright in generated tests
2018-01-10 11:55:28 +01:00
Ilya Gorbunov
e2306ecf94
Keep exception primary constructors for binary compatibility in JS
...
Resort to a workaround for KT-22053 in direct Throwable inheritors.
2017-12-29 21:21:20 +03:00
Ilya Gorbunov
3825187e93
Update expected reachable node count
2017-12-29 21:20:59 +03:00
Ilya Gorbunov
4e26ca5659
Add missing exception constructors to common and JS declarations
...
Add test to validate exception properties after calling various constructors.
Make NumberFormatException a descendant of IllegalArgumentException in all platforms.
#KT-21861 Fixed
#KT-21191 Fixed
2017-12-29 21:16:17 +03:00
Ilya Gorbunov
042f81f23b
Fix Volatile usages in common and JS code
2017-12-27 21:55:24 +03:00
Ilya Gorbunov
a33a3867b8
JS: Move declaration to match their packages in JVM and Common stdlib
...
Mostly internal, but also two public annotations
2017-12-27 21:55:24 +03:00
Anton Bannykh
2df85ae4a9
kotlin-test-js: pass test function result to test framework (e.g. Promise)
2017-12-27 19:57:49 +03:00
Anton Bannykh
3e0d83b7d1
Make :js:npm a separate project to avoid calling update_dependencies
2017-12-27 17:35:34 +03:00
Anton Bannykh
79359b7bc2
JS: test kotlin-test as box tests, support nested, fix mpp
...
Support tests inside nested classes and companion objects (KT-21850
fixed).
Don't launch multiplatform tests twice (KT-21567 fixed).
2017-12-27 15:22:26 +03:00
Ilya Gorbunov
d9edc5f221
Replace Regex constructor-like functions with secondary constructors
...
Historically secondary constructors were not supported in Kotlin/JS, so they had to
be emulated with constructor-like top level functions, now they can be rewritten
as true secondary constructors.
#KT-22003 Fixed
2017-12-26 05:40:35 +03:00
Ilya Gorbunov
053f3b6ac0
Tests: use helper function to assert compile-time and run-time type check
...
To cleanup warnings about useless cast or type check that is always true.
2017-12-26 04:55:44 +03:00
Ilya Gorbunov
ecd42f14b3
Compile common stdlib tests against common stdlib
...
Declare platform-specific test utilities as expect.
2017-12-26 04:55:40 +03:00
Alexey Tsvetkov
d7edbb8dfc
Track changes in inline function when friend paths are disabled in JS
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
ad1978940b
Recompile inline function usages in JS when offset is changed
...
Otherwise source maps would differ after rebuild
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
fec2d08d22
Compile actual and expected declarations together
...
#KT-20840 fixed
2017-12-22 16:12:19 +03:00
Mikhael Bogdanov
ea5505f80c
Generate annotations in proper order in DefaultImpls
2017-12-22 10:02:04 +01:00
Mikhael Bogdanov
50608d0844
Don't delete nested default lambda classes during inline transformation
2017-12-21 12:52:29 +01:00
Mikhael Bogdanov
f4f7c83eeb
Copy nested objects of default lambda during inline
2017-12-21 12:52:28 +01:00
Mikhael Bogdanov
3513f1a86a
Properly process default lambda source mapping
...
#KT-21827 Fixed
2017-12-21 12:52:27 +01:00
Mikhail Zarechenskiy
9eca8cd451
[NI] Fix hierarchy of resolution atoms for lambda with non-local return
2017-12-19 15:11:04 +03:00
Dmitry Petrov
17b4d4a973
Differentiate accessors by FieldAccessorKind
...
Otherwise accessors for backing fields (as in '{ field }') clash with
accessors for properties (as in '{ prop }').
#KT-21258 Fixed Target versions 1.2.30
2017-12-18 16:15:52 +03:00
Ilya Gorbunov
d8cd926a8c
Do not leak primitiveness of an array wrapped with asList
...
A primitive array wrapped in a List with asList had incorrect implementation of toArray method:
while it declares that an object array is returned, it returned a primitive array.
Therefore the methods such as `Collection.toTypedArray()` and its dependents
`ArrayList(collection)`, `Collection + Iterable` might behave incorrectly
having relied on `toTypedArray` returned an object array.
#KT-21828 Fixed
2017-12-18 15:50:15 +03:00
Alexander Udalov
3a807cb39b
Support Void.TYPE as underlying Class object for KClass
...
#KT-20875 Fixed
2017-12-18 11:57:05 +01:00
Anton Bannykh
6bee5699a0
Migrate node_utils.xml to Gradle
2017-12-14 17:41:20 +03:00
Dmitry Petrov
1aab4e643c
Add overflow-related tests for 'reversed'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
65b5cdbb8d
Maintain bounds evaluation order in intrinsics for 'reversed'
...
Makes sense for 'rangeTo', 'downTo', and 'until' with non-const bounds.
2017-12-14 10:41:51 +03:00
Dmitry Petrov
bf97b332cf
Support const-bounded for loop generation for reversed 'until'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
54cceac99b
Intrinsics for 'reversed': until
2017-12-14 10:41:51 +03:00
Dmitry Petrov
5f7460a8c7
Support const-bound counter loop generation for 'downTo'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
a4c29b3587
Support Long and Char in const-bounded counter loop generation
...
If the loop end value is a compile-time constant (best we can do now),
and it is safe to iterate over a given range using "naive" for loop
(using '<=' or '>=' in loop condition),
generate such loops for Longs and Chars as well Ints (Bytes, Shorts).
2017-12-14 10:41:51 +03:00
Dmitry Petrov
455a1c0f53
Intrinsics for 'reversed': downTo
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
64ba811b7f
Intrinsics for 'reversed': CharSequence.indices
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
7ba73c1635
Intrinsics for 'reversed': collection.indices
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
5bcbe25469
Intrinsics for 'reversed': array.indices
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
beff4a1b92
Intrinsics for 'reversed': support non-literal range expressions
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
821843e13f
Intrinsics for 'reversed': generate in-const-bound ranges as countable
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
1775f294f4
Intrinsics for 'reversed': infrastructure & primitive range support
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Alexey Andreev
93f8542fc4
JS: serialize location of JsCase/JsDefault
...
See KT-21699
2017-12-11 17:20:15 +03:00
Alexey Andreev
25e56874c1
JS: readable error when source maps change in IC tests
2017-12-11 17:20:15 +03:00
Alexey Tsvetkov
c13b2a6bbc
Test incremental recompilation of enum usage in JS
2017-12-11 17:20:14 +03:00
Mikhail Zarechenskiy
7f0cca52ca
[NI] Use definitely not-null types for smartcasts
2017-12-06 18:36:13 +03:00
Dmitry Petrov
3d473f608e
Add more tests for for-in-array
...
#KT-21354 Fixed Target versions 1.2.20
#KT-21321 Fixed Target versions 1.2.20
2017-12-05 15:45:20 +03:00
Dmitry Petrov
e4ecc13e13
Generate for-in-array loops with proper semantics in 1.3+
...
In Kotlin 1.3+, assignment to the for-in-array loop range variable in
the loop body doesn't affect loop execution (as if it was a loop on an
array iterator, or some other container).
#KT-21354 In Progress
#KT-21321 In Progress
2017-12-05 15:45:20 +03:00