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
69962cbf8c
[JS IR BE] Add JsExport annotations
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
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
Alexander Udalov
bbbd47ead3
Minor, rename codegen test
2019-06-07 15:01:44 +02: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
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
Anton Bannykh
c3170d1908
JS: cache metadata, grouped by package FQN
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
Mikhail Zarechenskiy
bbec3bf001
Fix exception on star import from typealias
...
#KT-30983 Fixed
2019-05-26 21:32:07 +03:00
Ting-Yuan Huang
bdcd6f73b1
Move tailrecPhase before defaultArgumentStubPhase
...
So that default values can be copied to the recursive call sites.
2019-05-24 09:51:07 +02:00
Ting-Yuan Huang
0aee2d0568
Fix signature generation for calls to enum and inner class constructors
...
The synthesized arguments caused the size of default value mask off by
one when it is close to the boundary of Int.SIZE, which in turn
resulted in wrong signature at call sites.
2019-05-23 12:29:57 +02:00
Roman Artemev
72f7287ad2
[IR BE] Fix array constructor loop. Use index parameter as immutable value
2019-05-22 15:18:13 +03:00
Roman Artemev
dfa38f4a4d
[JS IR BE] Fix state machine generation in case of composition of loops, inline functions and finally blocks
...
* lower finally blocks in any cases
* do not optimize exit blocks for if-statements
2019-05-22 15:18:13 +03:00
Svyatoslav Kuzmich
e9ceee388e
[JS IR BE] Don't transform toString with extension receiver
2019-05-21 19:19:31 +03:00
Svyatoslav Kuzmich
3153a7dd7e
[JS IR BE] Fix boolean and/or generation
2019-05-21 19:19:31 +03:00
Svyatoslav Kuzmich
b8bbcb3f93
[JS IR BE] Copy type metadata for Boolean, Char and Long varargs
2019-05-21 19:19:31 +03:00
Svyatoslav Kuzmich
59617c97b4
[JS IR BE] Fix VarargLowering
...
- Enable empty vararg transformation for all IrFunctionAccessExpression
- Fix empty vararg boxing
- Refactor inline class boxing logic
- Fix types of generated expressions
2019-05-21 19:19:31 +03:00
Alexander Udalov
8cda5cb849
Regenerate tests
2019-05-20 11:18:54 +02:00
Alexander Udalov
a53fa0dfbf
Minor, optimize newly added tests on unsigned intrinsics
...
Remove "JVM_TARGET: 1.6" directive from box tests and remove tests with
JVM target 1.8. By default, box tests are run with JVM target 1.6, and
there's an additional configuration `codegenTarget8Jvm8Test` that runs
all box tests with JVM target 1.8.
Also, remove box tests with JVM target 1.6. They aren't needed because
even if we manage to generate incorrect bytecode with target 1.6, the
corresponding box tests will catch that
2019-05-15 13:30:16 +02:00
Svyatoslav Kuzmich
b07690fccf
Phaser: Implement dumper and verifier as general actions
2019-05-14 16:23:43 +03:00
Svyatoslav Kuzmich
91d16ee947
[CLI] Extract :compiler:cli-js from :compiler:cli
2019-05-14 15:49:50 +03:00
Mark Punzalan
7efc29df7e
Split up generation of test data for codegen/box/ranges into signed and
...
unsigned ranges/progressions.
The tests pass in JVM_IR for signed, but fail for unsigned due to
inlining being broken. We can disable the JVM_IR tests for unsigned,
while keeping them enabled for signed, to get better test coverage in
the interim until inlining is fixed.
2019-05-14 14:26:15 +02:00
Svyatoslav Kuzmich
0f90aa5f80
[JS IR BE] BridgeConstruction: Fix init order of receivers and type parameters
2019-05-13 13:40:30 +03:00
Svyatoslav Kuzmich
f4bb1354c9
[JS IR BE] Support friend modules
2019-05-08 23:34:00 +03:00
Svyatoslav Kuzmich
824c51e7f0
[JS IR] Add stdlib regression tests
2019-05-06 19:34:25 +03:00
Georgy Bronnikov
bfe148efd5
IR: mostly remove descriptors from codegen
2019-05-01 20:08:20 +03:00
Alexander Udalov
6cc293a0c5
JVM IR: record FIELD_FOR_PROPERTY for property delegates
...
Delegated properties now have their $delegate fields recorded in the
metadata (in `ClassCodegen.generateField`). This part of metadata is
used by `KPropertyN.getDelegate` functions, so almost all tests on
getDelegate are now unmuted
2019-04-30 13:15:29 +02:00
Jiaxiang Chen
4b99d85322
Optimize JVM byte code generation for conditional conjunction
...
Implement an intrinsic method for boolean.and operation, and replace
ANDAND condition with a call to such intrinsic method.
2019-04-29 13:28:18 +02:00
Roman Artemev
023306b1b3
[JS IR BE] Add tests for main function
2019-04-26 17:04:28 +03:00