Roman Artemev
d4fb76c1da
[JS IR BE] Fix overriding property of Throwable
2019-07-09 10:40:01 +03:00
Roman Artemev
d9c6d38715
[JS IR BE] Fix private members lowering
...
- visit over file instead of class
2019-07-09 10:40:01 +03:00
Yan Zhulanow
188ed82081
Debugger: Handle closure receivers came from outer callables properly (KT-31709)
2019-07-08 16:25:17 +09:00
Roman Artemev
8a569cc698
[JS IR BE] Do not create $default stub for external function and any its fake override
2019-07-04 22:59:12 +03:00
Svyatoslav Kuzmich
a2625c7bc8
[JS IR BE] Don't render null messages in Throwable
...
Set message property to 'undefined' to make Error.prototype.toString
skip it
2019-07-04 18:33:23 +03:00
Svyatoslav Kuzmich
871180cdc0
[JS IR BE] Fix setting names of Throwable subclasses without primary constructor
2019-07-03 20:37:49 +03:00
Anton Bannykh
208c8f9339
JS: fix bootstrap
2019-07-01 20:22:05 +03:00
Svyatoslav Kuzmich
69962cbf8c
[JS IR BE] Add JsExport annotations
2019-07-01 18:55:41 +03:00
Svyatoslav Kuzmich
685597d20a
[JS IR BE] Codegen class model refactorings
...
Reduce JsScope usage
2019-07-01 18:55:41 +03:00
Steven Schäfer
078ccbf077
JVM_IR: Implement name mangling exceptions for Result class.
2019-07-01 15:49:12 +02:00
Mark Punzalan
1abdf0561a
Generate synthetic functions for local functions with default values, by
...
re-ordering the lowering phases.
The changes in InterfaceLowering are necessary so that IrElements that
target the removed functions are re-targeted to the new functions in
DefaultImpls. This affects local functions in interface functions since
now LocalDeclarationsLowering comes before InterfaceLowering.
2019-07-01 13:24:08 +02:00
Anton Bannykh
fadeac083f
JS: fix reified T::class for primitive T (e.g. Int) (KT-32215 fixed)
2019-06-28 13:49:22 +03:00
Svyatoslav Kuzmich
0b19a4a32b
[JS IR BE] Initial version of member namer
2019-06-21 17:02:01 +03:00
Dmitry Petrov
79d4b46d2b
KT-32044 Fix unsigned integer coercion in loop intrinsics
2019-06-21 16:30:23 +03:00
Georgy Bronnikov
48b0cac92e
Update tests
2019-06-20 22:37:56 +03:00
Roman Artemev
50ad21e388
[IR BE] Fix symbol remapping for IrField/IrProperty
...
- Use appropriate wrapped descriptor
- Add test
2019-06-19 10:24:15 +03:00
Ilya Gorbunov
aa69933ee0
Update EXPECTED_REACHABLE_NODES
...
DCE doesn't remove DurationUnit and some other kotlin.time stuff in these cases
2019-06-18 04:02:36 +03:00
Roman Artemev
008cf03b06
[IR] Consider TypeParameter as public declaration and serialize it properly
...
- Add test case when TypeParameter of generic property is exposed outside its module
2019-06-14 18:40:59 +03:00
Roman Artemev
efaf5a9947
[IR] Fix serialization of ENUM_SPECIAL members
2019-06-14 18:40:59 +03:00
Alexander Gorshenev
a816de4865
Added a test for members of EnumEntry in a library.
2019-06-14 17:12:39 +03:00
Steven Schäfer
917ef250cf
Add and (un)mute inline class tests
2019-06-13 12:25:06 +02:00
Mikhail Zarechenskiy
991e60c9e4
Add tests for obsolete issues
...
#KT-31784 Obsolete
#KT-31757 Obsolete
2019-06-10 17:37:52 +03:00
Dmitry Savvinov
0915f0c78a
[Expect/Actual] Let DI instantiate ExpectedActualDeclarationChecker
...
Inject it instead of calling constructor manually and passing instance
directly into the container. This allows to accept some components in
constructor of ExpectedActualDeclarationChecker
2019-06-10 13:34:27 +03:00
Alexander Udalov
bbbd47ead3
Minor, rename codegen test
2019-06-07 15:01:44 +02:00
Mikhail Zarechenskiy
787a8bb9bd
Revert "[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI"
...
This reverts commit 7c4101e21c .
#KT-31866 Fixed
#KT-31868 Fixed
#EA-125401 Fixed
#KT-25290 Open
2019-06-07 12:31:38 +03:00
Svyatoslav Kuzmich
cd651be461
[JS IR BE] Migrate JS BE to common klib utils
2019-06-05 11:15:45 +03:00
Mikhael Bogdanov
79074a7650
Specify JVM target for inline tests
2019-06-04 14:56:14 +02:00
Mikhael Bogdanov
81e6416bfe
Support bound callable reference inlining in IR
2019-06-04 14:56:13 +02:00
Anton Bannykh
8ab9ef2afa
JS: don't visit all descriptors on metadata serialization
2019-06-03 15:53:00 +03:00
Roman Artemev
beb1ce55f8
[IR BE] Fix capturing of var-locals inside class/field initializers
2019-05-31 13:14:43 +03:00
Roman Artemev
5686de7e09
[JS IR BE] Make kotlinx.io compile
...
- Fix expect/actual default arguments
- Fix dynamic type in inliner
- Fix external varargs
2019-05-31 13:14:43 +03:00
Dmitriy Novozhilov
bcbbf4aba3
[NI] Fix replacing original in PropertyDescriptor
2019-05-30 11:01:10 +03:00
Dmitriy Novozhilov
7c4101e21c
[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI
2019-05-29 10:35:46 +03:00
Mikhail Zarechenskiy
848640253a
Revert "[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI"
...
This reverts commit f20ec3e0a6 .
2019-05-29 01:31:28 +03:00
Anton Bannykh
c3170d1908
JS: cache metadata, grouped by package FQN
2019-05-28 23:33:17 +03:00
Anton Bannykh
c1f69ca8d6
JS: prepare to cache package metadata
2019-05-28 23:33:17 +03:00
Anton Bannykh
fc7fea4863
JS: make .meta.js the same as before
2019-05-28 23:33:17 +03:00
Anton Bannykh
145ca7b6a9
JS: merge proto parts as bytes
2019-05-28 23:33:17 +03:00
Anton Bannykh
fbd59ba68a
JS: lazy load special functions and source maps
2019-05-28 23:33:17 +03:00
Anton Bannykh
a3aca662c1
JS: improve json parsestring
2019-05-28 23:33:17 +03:00
Anton Bannykh
56915d1c07
JS: optimize JSON parser
2019-05-28 23:33:17 +03:00
Anton Bannykh
052ddd60ce
JS: support callable references on suspend functions (KT-30987 fixed)
2019-05-28 19:13:08 +03:00
Ilmir Usmanov
5631306165
Wrap result method node with max stack calculator in inliner
...
#KT-31347 Fixed
2019-05-28 16:37:45 +03:00
Dmitry Savvinov
9d0f518d62
Rename PlatformDependentCompilerServices -> PlatformDependentAnalyzerServices
2019-05-28 13:08:09 +03:00
Dmitry Savvinov
2caa1c3dd6
[Compatibility] Restore old TargetPlatform and subtypes for compatibility
2019-05-28 13:08:08 +03:00
Dmitry Savvinov
4116815a8d
[Misc] Provide meaningful debugName for StorageManager everywhere
2019-05-28 13:08:08 +03:00
Dmitry Savvinov
602f642018
[Injection] Make component containers composition more granular and flexible
...
Previously, containers set-up was performed by calls to static functions
like 'createContainerForLazyResolve', which would set-up whole container
from scratch.
This has several issues:
- complicates code re-use and encourages copy-paste of one and the same
set-up logic
- complicates composition of multiplatform containers (because each
set-up method relies on the fact that it should take an empty
container and compose it completely)
The idea of this commit is to split set-up methods into smaller ones,
with finer areas of responsibility, which allows to re-use them
in various scenarios (and, in particularly motivating composition
of multiplatform container)
2019-05-28 13:08:08 +03:00
Dmitry Savvinov
b631e89ea7
[Injection] Annotate default services with @DefaultImplementation
2019-05-28 13:08:08 +03:00
Dmitry Savvinov
c97138c0eb
[Injection] Pull languageVersionSettings injection to 'configureModule'
2019-05-28 13:08:08 +03:00
Dmitry Savvinov
1606b3bf23
[Platform API] Make 'ModuleInfo.platform' non-nullable
2019-05-28 13:08:07 +03:00