Roman Artemev
a60782f3df
[JS IR] Add CLI argument to setup error tolerance policy
...
- Make sure dev mode is enabled if code with errors is allowed
2020-09-01 14:53:07 +03:00
Zalim Bashorov
9097d0918c
[JS BE] Support passing an array as argument of vararg in named form
...
#KT-38059 fixed
2020-08-28 13:14:23 +03:00
Zalim Bashorov
606232a584
[JS IR] Don't generate "import" statements for external interfaces
...
#KT-40964 fixed
2020-08-28 13:14:22 +03:00
Zalim Bashorov
ba846830c9
[JS IR] Support nativeGetter, nativeSetter and nativeInvoke
...
#KT-41081 fixed
2020-08-28 13:04:18 +03:00
Dmitriy Novozhilov
a764732020
Rename KotlinBuiltInsNames to StandardNames
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
45cf221b97
Move util functions from KotlinBuiltIns to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
7a7fe77b8e
Move static constants with builtin names to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
9d9f9c52c0
Extract some classes from descriptors module to :core:common
...
This is needed to remove dependencies from fir modules to
`:core:descriptors` module
What was extracted:
- Modality
- ClassKind
- org.jetbrains.kotlin.name package
2020-08-25 10:31:35 +03:00
Roman Artemev
fcca2c6fa3
[JS IR] fix failing test
2020-08-21 17:44:07 +03:00
Roman Artemev
e7f22bcfbc
[JS IR] Add test for cross module export
2020-08-20 22:16:20 +03:00
Roman Artemev
0559e192ee
[JS IR] Support external delegation in case of JS in psi2ir
...
- fix FE delegation resolver
- fix critical KT-40650
2020-07-29 19:57:05 +03:00
Svyatoslav Kuzmich
4a803e9d2f
[JS IR] Support object declaration export
...
Fixes KT-39117 and KT-39367
2020-07-23 08:21:59 +03:00
Svyatoslav Kuzmich
4027dae594
[JS] Add js/js.translator/testData/package-lock.json
2020-07-23 08:21:57 +03:00
Svyatoslav Kuzmich
609f0ca9bc
[JS IR] .d.ts generation for module systems
...
Support .d.ts generation for UMD, AMD, CommonJS module kinds in
addition to existing "plain" module kind.
2020-07-16 14:02:06 +03:00
Zalim Bashorov
340512e27a
[KJS] Throw exception on recursive types provided to typeOf and provide proper support later within KT-40173
...
#KT-38140 fixed
2020-07-14 14:14:13 +03:00
Ilya Gorbunov
2f3e1dcbc6
Add EXACTLY_ONCE contract to suspendCoroutine* functions
...
Update line numbers in the affected test.
2020-07-10 01:05:16 +03:00
Roman Artemev
ca44242f37
[IR] Fix synthetic declarations generator to make it produce correct type
...
- Fix KT-40126
- Add test
2020-07-09 11:47:07 +03:00
Anton Bannykh
da79f93c61
JS IR: per-module .js generation support
2020-06-26 17:55:33 +03:00
Anton Bannykh
a1c9ee1013
Mute failing ES6 phases
2020-06-26 17:55:32 +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
Ilya Gorbunov
e9c4f531eb
Increase deprecation level for previously deprecated API
...
- unsupported common exceptions
- common 'synchronized'
- jquery API
- experimental kotlin.time API
- js Math object
- DefaultAsserter constructor-like fun
2020-06-22 12:29:24 +03:00
Svyatoslav Kuzmich
bbfc1a10ad
[JS] Fix stack trace capturing from secondary constructors KT-37563
2020-06-22 12:03:59 +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
Ilya Gorbunov
2fe222e8e7
Add SKIP_DCE_DRIVEN directive in JS-IR tests
...
Otherwise they fail with a compiler exception:
"An operation is not implemented: SAM conversion"
2020-06-17 19:45:15 +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
bd2a0563ad
JS: fix explicit cross-module SAM constructor calls
2020-06-06 13:20:37 +03:00
Dmitry Petrov
de25359a90
Fix stdlib compilation after updated @JvmName check
...
Previously, extension receiver type was not taken into account when
checking for @JvmName annotation applicability to possibly mangled
functions (such functions, however, were mangled).
This bug was fixed, but, unfortunately, not before such functions were
added to stdlib ('sumOf' family).
2020-06-04 12:16:28 +03:00
Dmitry Petrov
202bbdf8dd
Forward compatibility hacks for Result.{success, failure}
...
Don't mangled functions annotated with @JvmName.
Annotate 'Result.success' and 'Result.failure' with @JvmName and
@Suppress("INAPPLICABLE_JVM_NAME").
NB this would require bootstrap.
2020-06-04 12:16:27 +03:00
Anton Bannykh
a18bfad53a
Add stdlib API test + remove some extra IR stdlib API's
2020-06-03 17:14:29 +03:00
Svyatoslav Kuzmich
b0445496bb
[JS] Autogenerate and mute missing test
2020-06-03 15:19:36 +03:00
Svyatoslav Kuzmich
f8fdb0dc7e
[JS] Add ; after functions in .d.ts
...
Fixes nit from KT-37752
2020-06-03 10:33:46 +03:00
Svyatoslav Kuzmich
2ca751a9fc
[JS] Prevent default class constructors in d.ts files.
...
Generate private TypeScript constructor for classes without public
primary Kotlin constructor.
2020-06-03 10:33:45 +03:00
Svyatoslav Kuzmich
695d383ed1
[JS] Support secondary constructors in JsExport
2020-06-03 10:33:45 +03:00
Vitaly
fe047f9b47
[JS BE] mutes tests for JS_IR_ES6, which muted for JS_IR
2020-05-27 00:32:56 +03:00
Vitaly
a231b21c69
[JS BE] add tests for es6-classes
2020-05-27 00:32:55 +03:00
Svyatoslav Kuzmich
c9adf22697
[JS] Remove binding context from NameSuggestion instance
...
Pass bindingContext to suggest method instead.
Revert creating multiple instances of NameSuggestion in checkers.
2020-05-22 17:05:30 +03:00
Svyatoslav Kuzmich
6e3d3831c2
[JS] JsExport diagnostics and legacy support
...
Account for JsExport in legacy backend namer. It means we
catch overloaded exported function conflicts for free!
Add error diagnostics:
* NESTED_JS_EXPORT (Fixes KT-36798)
* WRONG_EXPORTED_DECLARATION (Part of the fix for KT-37752)
* NON_EXPORTABLE_TYPE (Fixes KT-37771)
2020-05-22 10:50:22 +03:00
Abduqodiri Qurbonzoda
bfffcf6b23
Update BoxJsTest expected reachable nodes because of new collection builders
2020-04-30 02:28:41 +03:00
Anton Bannykh
2992d49a1d
JS IR: fix findAssociatedObjects for primitive type KClass'es
2020-04-28 19:08:44 +03:00
Anton Bannykh
442331acc9
IR JS: support findAssociatedObject feature (KT-37418 fixed)
2020-04-27 17:23:19 +03:00
Anton Bannykh
81798282b9
JS: support explicit SAM constructor invocation
2020-04-15 17:13:21 +03:00
Svyatoslav Kuzmich
3ec13d5bd6
[JS IR BE] Support companion objects in external interfaces
...
These objects are referenced but value is not actually used.
Replace access to these references with null literals.
2020-04-07 21:19:14 +03:00
Victor Turansky
79bec82430
KT-34770 JS. Configurable properties. Test
2020-04-07 16:15:02 +03:00
Victor Turansky
5652d2657d
KT-34770 JS. Configurable properties. Old backend
2020-04-07 16:14:21 +03:00
Victor Turansky
4d219d1eed
KT-31126 JS. Fix super constructor call. Test infra comment
...
Primary ordinary -> secondary external
2020-04-07 09:30:22 +03:00
Victor Turansky
be39151fad
KT-31126 JS. Fix super constructor call. Tests
...
Primary ordinary -> secondary external
2020-04-07 09:30:22 +03:00
Victor Turansky
6859e87be1
KT-31126 JS. Fix super constructor call. Old backend
...
Primary ordinary -> secondary external
2020-04-07 09:30:22 +03:00
Dmitry Petrov
24b8495e00
KT-30419 Box inline classes in return types of covariant overrides
...
Use boxed version of an inline class in return type position for
covariant and generic-specialized overrides.
Also fixes KT-35234 and KT-31585.
2020-04-01 22:59:14 +03:00
Alexander Udalov
8dd04789ad
Remove obsolete InlineStrategy
...
Replace corresponding metadata property in js.ast with Boolean. This
allows to get rid of dependency of 'js.ast' on 'frontend'.
2020-03-28 21:30:03 +01:00