Mikhail Zarechenskiy
acb83f1af1
Temporary fix to compile project with the snapshot compiler
...
The problem is in NI and can relate to a236ad5686
2019-02-18 11:45:02 +03:00
Dmitry Petrov
580eb6fcac
JS_IR: support dynamic expressions in block decomposition
2019-02-14 16:03:11 +03:00
Dmitry Petrov
03c35a4f44
JS_IR: support dynamic expressions in JS tree generation
2019-02-14 16:03:11 +03:00
Svyatoslav Kuzmich
d0e7fb7af3
[JS IR BE] Copy Runtime IR after inline preparation passes
2019-02-12 18:45:35 +03:00
Svyatoslav Kuzmich
cfde97a7a0
[JS IR BE] Support nested external classes
2019-02-12 18:45:35 +03:00
Svyatoslav Kuzmich
0ff23544fc
[JS IR BE] Initial support for mudule wrapper generation
2019-02-12 18:45:35 +03:00
Svyatoslav Kuzmich
d8b1d09566
[JS IR BE] Support codegen for external objects and properties
2019-02-12 18:45:35 +03:00
Svyatoslav Kuzmich
53d15ea27c
[JS IR BE] Fix arrays type checks
2019-02-12 18:45:34 +03:00
Georgy Bronnikov
ab1e334847
Reorganize phaser
2019-02-06 07:26:18 +03:00
Igor Chevdar
c765bd74d7
Made LateInitLowering the same in K/N as in other BEs
2019-01-31 18:19:39 +03:00
Mikhael Bogdanov
a122cba862
Switch Kotlin project to jvm-target 1.8
...
#KT-29405
2019-01-31 07:43:05 +01:00
Georgy Bronnikov
3e9c290a3a
Remove references to invisible fakes from IR backend
2019-01-31 07:55:39 +03:00
Svyatoslav Kuzmich
0ef4194770
[JS IR BE] Support String companion object
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
ab3eb06a62
[JS IR BE] Fix lowering Long comprising operators
2019-01-29 19:06:31 +03:00
Roman Artemev
fd9a72b627
[JS IR BE] Fix traits super calls
2019-01-25 17:17:16 +03:00
Svyatoslav Kuzmich
8fbf1ed683
[JS IR BE] Unmute tests
2019-01-24 23:05:56 +03:00
Svyatoslav Kuzmich
2818d3767e
[JS IR BE] Covert Char into inline class
2019-01-24 23:05:56 +03:00
Svyatoslav Kuzmich
8c89ffbe2d
[JS IR BE] Load builtins from code to runtime
...
Bypass builtins deserialization mechanism in legacy JS backend and load
bultins direcly as kotlin code.
This way we won't have separated IR declarations for Enum, Char, Long
Some "native" builtins are implemented in libraries/stdlib/js/irRuntime/builtins/
Other builtins are moved by MoveExternalDeclarationsToSeparatePlace and
used only in compile-time
2019-01-24 23:05:56 +03:00
Svyatoslav Kuzmich
a40448aebc
[JS IR BE] Use unsigned types lowering lazily
2019-01-24 16:14:40 +03:00
Svyatoslav Kuzmich
befc371f6a
[JS IR BE] Fix bridges construction function handle
2019-01-16 12:11:28 +03:00
Svyatoslav Kuzmich
912f0a267f
[JS IR BE] Use return type in function signature for inline classes
...
Bridge function should be created when return type of override function
is specialised to unboxed inline class. Thus return type should be used in
function signature.
Non-inline-class return types are not added to signature for interop and
infrastructure reasons ("toString" would become "toString_ret$kotlin_String")
2019-01-16 12:11:27 +03:00
Svyatoslav Kuzmich
ebdbe7ec30
[JS IR BE] Fix fake override functions resolve
...
Use signature of function 'target' (a real function that will
be called instad of fake override) to make boxing/unboxing decision for
return value and type parameters on call site.
2019-01-16 12:11:27 +03:00
Alexander Gorshenev
1ba4770800
A little fix to allow Wrapped and non-Wrapped descriptors to coexist.
2019-01-15 14:54:27 +03:00
Denis Zharkov
5cc242e878
Refactor FunctionHandle::isInterfaceDeclaration
...
- Give it more clear name mayBeUsedAsSuperImplementation
because defining if it can be used as super-implementation
this is what it used for
- The meaning is negated, so it's needed to negate its usages and impls
- Also, reuse it in findSuperImplementationForStubDelegation
2019-01-14 14:54:18 +03:00
Roman Artemev
d35b20f764
[JS IR BE] Implement private members lowering to extract private methods from class and transform them into static function
...
* fix kotlin.Long
* update tests
2019-01-11 20:28:04 +03:00
Roman Artemev
75996b1c8e
[JS IR BE] Fix class generator
2019-01-11 20:28:04 +03:00
Roman Artemev
23fc950ae6
[JS IR BE] Fix suspend function lowering
2019-01-11 20:28:04 +03:00
Roman Artemev
c725f4ce32
[JS IR BE] Secondary constructors lowering refactoring
...
* make it per-file
2019-01-11 16:13:26 +03:00
Igor Chevdar
1bef26c80e
[JS IR] Fixed bug with constructors type parameters
2019-01-10 14:35:11 +03:00
Roman Artemev
d363763420
Fix wrapped descriptors
2019-01-10 14:35:10 +03:00
Dmitry Petrov
85f55dec9a
Support SAM conversion in psi2ir
...
SAM conversion takes a function value (function type or a subtype),
and produces a SAM interface value.
2018-12-19 10:58:34 +03:00
Roman Artemev
e436e7cf61
[JS IR BE] Support call super with default parameters
2018-12-18 15:55:09 +03:00
Georgy Bronnikov
c018109bca
React to review comments
2018-12-10 17:26:55 +03:00
Roman Artemev
eff81525d3
Make IrField be IrDeclarationParent
...
* fix parent in TypeOperatorLowering
2018-12-07 17:58:20 +03:00
Roman Artemev
ce70e5850f
[JS IR BE] New Inliner from native
2018-12-07 17:58:20 +03:00
Roman Artemev
30cc5f6d3c
Support Ir Validation in phaser
2018-12-04 19:45:15 +03:00
Roman Artemev
de1cbc396e
Implement JS IR Phaser
2018-12-04 19:45:15 +03:00
Svyatoslav Kuzmich
8359887696
[JS IR BE] Fix inline classes workarounds
...
- Remove uninitialized return type check
- Remove unbound classifier symbol check
2018-12-03 13:07:41 +03:00
Svyatoslav Kuzmich
59032c384e
[JS IR BE] Validate parents
2018-11-29 15:36:57 +03:00
Svyatoslav Kuzmich
39cdee8d6c
[JS IR BE] Enable IrValidator
2018-11-29 15:36:56 +03:00
Svyatoslav Kuzmich
2172a12df4
[JS IR BE] Eliminate identical IrElements duplicates
2018-11-29 15:36:56 +03:00
Svyatoslav Kuzmich
ba0f652e02
[JS IR BE] Fix parameters parents
2018-11-29 15:36:56 +03:00
Svyatoslav Kuzmich
d5f8c63130
[IR] Add returnType to consturcotrs of IrFunctionBase
2018-11-29 15:36:56 +03:00
Svyatoslav Kuzmich
fe6b36391d
[JS IR] JsIrBuilder - add returnType and parent to buildFunction
2018-11-29 15:36:56 +03:00
Svyatoslav Kuzmich
0bf3199c19
Support nullable inline classes
2018-11-08 15:00:33 +03:00
Svyatoslav Kuzmich
370b04df35
[JS IR BE] Inline classes lowering
2018-11-08 15:00:30 +03:00
Svyatoslav Kuzmich
4866c2b36a
[IR] Move irCall from JS backend to common utils
2018-11-08 15:00:09 +03:00
Svyatoslav Kuzmich
dd20775662
[IR] Move IrFunction.isStatic from JS to Common
2018-11-08 15:00:08 +03:00
Svyatoslav Kuzmich
4f6a18e29a
[IR] Update parents when transforming declaration containers
2018-11-08 15:00:08 +03:00
Svyatoslav Kuzmich
38b31e8f7d
[JS IR BE] Fix reusing expression instances
2018-11-08 15:00:08 +03:00