Abduqodiri Qurbonzoda
46b7a774b5
Commonize CharCategory and related functions #KT-39177 #KT-43216 #KT-39906 #KT-30652
2021-01-28 01:41:24 +03:00
Svyatoslav Kuzmich
cb3b1f8ae2
[JS IR] Fix referencing Kotin variables in inline JS code
...
Fixed by outlining JS code that uses Kotlin variables making usages of
these locals explicit and preventing bugs due to one-sided variable renaming.
This prevents using Kotlin variables as lvalue in JS code.
2021-01-25 19:18:44 +03:00
Alexander Udalov
acd29481bd
Regenerate sources of builtins and stdlib
2021-01-03 22:31:06 +01:00
Abduqodiri Qurbonzoda
662787b12b
Straighten Char-to-code and Char-to-digit conversions out #KT-23451
2020-12-31 12:07:41 +03:00
Zalim Bashorov
72593e3d30
[JS IR] Revert jsClass_js-ir.kt to not break compatibility with older compiler versions
2020-12-24 20:03:23 +03:00
Zalim Bashorov
d7e3f826bb
[JS IR] Generate jsClass function inside the compiler instead of relying on declaration inside stdlib
...
We want to make its type parameter reified to do it we have to make it inline and non-external.
But we don't want to inline it in call sites and want prevent using it anywhere except places generated by the compiler.
In user code, including stdlib, we should use `K::class.js` instead.
Separately we have to intrinsify `K::class.js` to reduce overhead.
2020-12-24 20:03:23 +03:00
Zalim Bashorov
df6635085b
[JS IR] Replace calls with invalid type arguments for type parameters with call to errorCode function from runtime.
2020-12-24 20:03:22 +03:00
Ilya Gorbunov
8f4e4a4d40
Specify common sources for stdlib test compilation tasks
...
Some multiplatform tests are compiled in single-platform projects:
- in kotlin-stdlib-jdk7
- in kotlin-stdlib-jdk8
- in kotlin-stdlib-js-ir. The latter is technically MPP but with a
single platform, so its common sources are not considered as common.
Pass information about common sources to test compilation tasks in order
to use OptionalExpectation annotations there.
Co-authored-by: Svyatoslav Scherbina <svyatoslav.scherbina@jetbrains.com >
2020-12-14 19:03:04 +03:00
Roman Artemev
c16b11a124
[JS IR BE] Fix throwable stuff to make exceptions similar to JVM
2020-10-12 15:22:43 +03:00
Roman Artemev
ff093d363a
[JS IR BE] Fix Throwable ancestor transformation
...
Make sure that `message` and `cause` are properly configured
- synchronize IR BE and Legacy behaviour
- fix corresponding IR lowering
- fix JS IR core runtime
- add test
- fix KT-39964
2020-10-12 15:22:43 +03:00
Abduqodiri Qurbonzoda
36e6247125
Add more details about bit shift operations #KT-41112
2020-09-16 04:05:12 +03:00
Roman Artemev
8a810e2a5e
[JS IR] Add runtime API to throw ISE in case of compiled code with errors
2020-09-01 14:53:07 +03:00
Alexander Udalov
da6d904c6e
Suppress code warnings in kotlin-stdlib
2020-08-20 20:30:34 +02:00
Ilya Gorbunov
99eb7f391b
Fix doc wording around covariance/invariance
2020-08-04 00:33:05 +03:00
Ilya Gorbunov
bace1b8055
Increase stdlib-js mocha test timeouts to 10s
...
Some tests often do not fit into the default timeout when running tests
in parallel on CI.
2020-07-21 05:43:38 +03:00
Abduqodiri Qurbonzoda
d2c9fc41f1
Replace @LowPriorityInOverloadResolution with @DeprecatedSinceKotlin #KT-37101
2020-07-15 20:36:57 +03:00
Vyacheslav Gerasimov
742b98bed6
Build: Fix stdlib-js-ir commonMainSources task dependency on version
2020-07-14 20:29:11 +03:00
Ilya Gorbunov
6c8ff25e5d
Drop deprecated jsClass top level and extension functions
...
Introduce internal toplevel jsClass in js-ir source set instead.
It is needed for JS-IR backend.
2020-06-22 12:29:25 +03:00
Svyatoslav Kuzmich
6792779281
[JS IR] Fix stack trace capturing in secondary constructors (KT-37563)
...
Call captureStack in primary constructors and generated factories
2020-06-22 11:50:14 +03:00
Anton Bannykh
cbabb4f76a
JS stdlib api test: various changes
...
- Setting -Doverwrite.output=true updates gold data
- Big packages don't get split into chunks
- Unique lines in the API are marked with /*∆*/ and diff test is removed
- Annotations on separate lines and other dump format tweaks
- Test data moved to libraries/stdlib/api/
- Minor visibility fix to Enum members
2020-06-15 11:49:15 +03:00
Anton Bannykh
a18bfad53a
Add stdlib API test + remove some extra IR stdlib API's
2020-06-03 17:14:29 +03:00
Ilya Gorbunov
e2c3455445
Document NaN propagation in top-level minOf/maxOf functions
2020-06-02 19:01:44 +03:00
Roman Elizarov
46b426ef77
KT-31741: stdlib: DeepRecursiveFunction ( #3398 )
...
Introduces experimental coroutines-based framework to execute deeply recursive functions that utilities the heap and thus avoid StackOverflowError.
2020-05-27 10:06:00 +03:00
Vitaly
9ede8445e7
[JS BE] add runtime-function and intrinsics for es6-classes
2020-05-27 00:32:54 +03:00
Ilya Gorbunov
bf21e1282a
Suppress most of unused parameter warnings
2020-05-19 19:24:00 +03:00
Ilya Gorbunov
188bcf0e7b
stdlib-js-ir: do not copy source directories from the same project
2020-05-14 10:40:34 +03:00
Ilya Gorbunov
46b0784508
Disable kotlinMetadata compilation for js-ir-minimal-for-test
...
Use more convenient way to specify dependency on source syncing tasks.
2020-05-14 10:40:18 +03:00
Abduqodiri Qurbonzoda
0c7b04a495
Document fromIndex and toIndex parameters #KT-38388
2020-05-09 23:34:03 +03:00
Svyatoslav Kuzmich
3d5003d476
[JS_IR] Use new plugin to build Kotlin/JS stdlib with IR compiler
...
- Switch to building stdlib with bootstrap compiler since IR is stable
enough
- Build stdlib with coreLibs by default
- Include JS IR stdlib to kotlin distribution
2020-05-08 10:37:48 +03:00
Anton Bannykh
2992d49a1d
JS IR: fix findAssociatedObjects for primitive type KClass'es
2020-04-28 19:08:44 +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
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
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
d115792d9a
Move a couple ad-hoc properties to buildSrc/BuildPropertiesExt
2020-04-07 10:54:34 +03: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
Abduqodiri Qurbonzoda
e632d58936
Nullable Array.contentEquals/contentHashCode/contentToString #KT-34161
2020-03-12 18:01:23 +03:00
Zalim Bashorov
8e788e2169
[stdlib-js-ir] Copy Boolean and String sources and add equals, hashCode, toString
2020-03-11 12:54:42 +03:00
Zalim Bashorov
adfb296e45
[stdlib-js-ir] Add equals, hashCode, toString to some builtins
...
Namely:
* Throwable;
* primitive numbers except Long (which implemented in Kotlin).
2020-03-11 12:54:42 +03:00
Zalim Bashorov
97e86fb2ce
[stdlib-js-ir] Char shouldn't be a data class
2020-03-11 12:54:41 +03:00
Zalim Bashorov
7c874ccf0c
[stdlib-js-ir] Hack: mark Char.toString by JsName to force keeping it
2020-03-11 12:54:41 +03:00
Zalim Bashorov
9e7f72382f
[stdlib-js-ir] Remove BitUtils object and make all members toplevel
...
It works slightly better with IR DCE --
we get about 6% less code on box tests.
2020-03-11 12:54:41 +03:00
Zalim Bashorov
43171f67a8
[stdlib-js-ir] Cleanup exceptions
2020-03-11 12:54:41 +03:00
Alexander Udalov
787e4503e5
Migrate -Xuse-experimental -> -Xopt-in in project sources
2020-03-10 12:07:15 +01:00
Roman Artemev
c2676ded31
[JS IR] Implement KProperty runtime utils
2020-03-03 18:54:36 +03:00
Roman Artemev
0e67c6ac7d
[JS IR] Update coroutine runtime
2020-03-03 18:54:35 +03:00