Svyatoslav Kuzmich
02a84fa6e1
[Wasm] Remove wasmBox tests
...
They are be covered by common codegen box tests.
2020-11-09 16:04:43 +03:00
Roman Artemev
4d63ecd83c
[JS IR] Do not copy prototype references of FO from super class
...
Reduce bundle size from issue from 4.9M to 3.4M
- fix KT-41227
- add simple test
2020-10-26 14:30:54 +03:00
Leonid Startsev
4ec90b18bc
Rework DescriptorSerializerPlugin to be a part of Project's extensions
...
instead of statically registering it.
Static registering can cause subtle errors when plugin implementation
(e.g. SerializationDescriptorPluginForKotlinxSerialization) is registered
from multiple classloaders: in multi-module with daemon compilation scenario
#KT-41857 Fixed
2020-10-22 17:04:35 +03:00
Victor Turansky
4d4aabab8d
[JS BE] Make properties configurable when implementing an interface by delegation
...
#KT-42364 Fixed
2020-10-20 15:49:29 +03:00
Roman Artemev
f824bb6987
[JS BE] Merge Legacy and IR BE exceptions-related test data
...
- regenerate tests
- add consistency test
2020-10-12 15:22:44 +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
Svyatoslav Kuzmich
5e5712afbb
[JS IR] Make JsExport not fail on companion objects (KT-37829)
2020-10-08 14:07:50 +03:00
Svyatoslav Kuzmich
162d9744ff
[JS IR] Fix export of constructor with default argument (KT-41275)
2020-09-24 14:58:14 +03:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
2bcd8ee07f
Get rid of Visibility.effectiveVisibility member
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
bf4bf30b4a
Move CompanionObjectMapping to :core:compiler.common
2020-09-04 11:07:40 +03:00
Roman Artemev
2612609664
[JS] Add test for KT-39378
2020-09-02 14:42:17 +03:00
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