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
Svyatoslav Kuzmich
f80b6ff947
[JS IR BE] Put file names into JsDoc
2019-05-21 19:19:31 +03:00
Roman Artemev
fabd306437
[JS IR BE] Fix varargs for inline arrays
2019-05-16 19:27:41 +03:00
Roman Artemev
600ad7e088
[JS IR BE] Fix KProperty access in case of both receivers
2019-05-16 19:27:41 +03:00
Roman Artemev
02d84bf061
[IR BE] Delegate coroutine naming strategy to platform part
2019-05-16 19:18:54 +03:00
Svyatoslav Kuzmich
23a214710b
[JS IR BE] Add Unit return type to function signature
2019-05-15 14:09:02 +03:00
Svyatoslav Kuzmich
e8933738ac
[JS IR BE] Remove conservative unit materialization
...
Remove UnitMaterializationLowering
Remove Unit insertion in BridgeConstruction
Fix codegen for when expressions without else branch
2019-05-15 14:09:02 +03:00
Svyatoslav Kuzmich
28406b6bc4
[JS IR BE] Enable unconditional validation
2019-05-14 16:23:43 +03:00
Svyatoslav Kuzmich
b07690fccf
Phaser: Implement dumper and verifier as general actions
2019-05-14 16:23:43 +03:00
Roman Artemev
db5396c1c2
[JS IR BE] Fix main function detector
...
- Do not consider extension functions as main candidate
2019-05-13 15:26:09 +03:00
Svyatoslav Kuzmich
bd3953c09f
[JS IR BE] Turn on strict mode in generated code.
...
Fix multiple import of the same javascript module.
2019-05-13 13:41:11 +03:00
Svyatoslav Kuzmich
0f90aa5f80
[JS IR BE] BridgeConstruction: Fix init order of receivers and type parameters
2019-05-13 13:40:30 +03:00
pyos
3171129c3c
JS_IR: remove traces of @kotlin.native.internal.InlineConstructor
...
This is a hack used by Kotlin/Native purely to implement Array
constructors. Since there's a lowering that does that, and inline
constructors are not part of the language (although they theoretically
could be), the code is redundant.
(cherry picked from commit a74fae246b )
2019-05-09 11:54:35 +02:00
pyos
683f8417d3
Add a common JVM/JS lowering for Array(size, function)
...
and remove the hack from JVM_IR codegen that replaces this call with
hardcoded inline function bytecode.
(cherry picked from commit 4a29e3cfcf )
2019-05-09 11:54:18 +02:00
max-kammerer
e74e0ea013
Revert "Add a common JVM/JS lowering for Array(size, function)"
...
This reverts commit 4a29e3cfcf .
2019-05-09 11:49:34 +02:00
max-kammerer
05d352769b
Revert "JS_IR: remove traces of @kotlin.native.internal.InlineConstructor"
...
This reverts commit a74fae246b .
2019-05-09 11:49:34 +02:00
pyos
a74fae246b
JS_IR: remove traces of @kotlin.native.internal.InlineConstructor
...
This is a hack used by Kotlin/Native purely to implement Array
constructors. Since there's a lowering that does that, and inline
constructors are not part of the language (although they theoretically
could be), the code is redundant.
2019-05-09 08:03:18 +02:00
pyos
4a29e3cfcf
Add a common JVM/JS lowering for Array(size, function)
...
and remove the hack from JVM_IR codegen that replaces this call with
hardcoded inline function bytecode.
2019-05-09 08:03:18 +02:00
Svyatoslav Kuzmich
f4bb1354c9
[JS IR BE] Support friend modules
2019-05-08 23:34:00 +03:00
Svyatoslav Kuzmich
331625a9bb
[JS IR BE] Lower kotlin.js.Json external interface methods
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
d6c9375196
[JS IR BE] Preserve package fqName when moving external declarations out
...
Create separate package fragment for each fqName of external declaration package
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
2741ecaaad
[JS IR BE] Materialize Unit object during upcasts in AutoBoxingTransformer
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
58bed0f932
[JS IR BE] Fix types of in secondary ctor lowering
...
Type of IrDelegatingConstructorCall is 'kotlin.Unit'
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
d6761d323c
[JS IR BE] Fix return targets inside state machine
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
feeb6e9862
[JS IR BE] Fix type for lowered cast expression
...
Safe cast result type is different from its type operand.
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
fc0a0f41d2
[JS IR BE] Fix: patch parents problems
...
* Patch parents for state machine builder
* Patch parents for declarations inside default value of actual parameter
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
130d2d00c3
[JS IR BE] Fix unboxing empty inline class varargs
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
0aae760469
[JS IR BE] Fix block decomposition lowering for dynamic expressions
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
17178628fb
[JS IR BE] Support bridges for special methods
...
Mostly reused from JVM IR lowering.
Shared logic moved to common backend module.
2019-05-06 19:34:25 +03:00
Igor Chevdar
7f423bd841
[IR] Fixes in inliner
2019-04-26 17:43:26 +03:00
Roman Artemev
c545481db9
Fix JS_IR IrConstructorCall support
2019-04-26 17:43:26 +03:00
Dmitry Petrov
b78d1bb2b9
IrConstructorCall support in JVM_IR, JS_IR, and FIR2IR
2019-04-26 17:43:25 +03:00
Roman Artemev
5bd3bcd237
[JS IR BE] Support main function
...
* Implement IR-based main function detector
2019-04-26 17:04:28 +03:00
Roman Artemev
6729603ac7
[JS IR BE] Fix warnings
2019-04-26 17:04:28 +03:00
Mikhail Zarechenskiy
f00c946ff7
Fix projection compilation against bootstrap compiler
...
This is needed after 5d95a1ac
2019-04-25 16:19:38 +03:00
Dmitry Gridin
37c856290f
Fix minor compile warnings
2019-04-25 19:47:39 +07:00
Svyatoslav Kuzmich
e30bdb8dc9
Fix hanling module names that require escaping
2019-04-25 03:54:17 +03:00
Svyatoslav Kuzmich
1a6e6588fc
Fix: Use Vars instead of plain assignments for declaration imports
2019-04-24 13:06:58 +03:00
Svyatoslav Kuzmich
bb3b9a935f
Command line interface
2019-04-23 23:19:12 +03:00
Roman Artemev
89500d776d
[IR BE] Don't use symbol table in SuspendFunctionLowering
2019-04-23 22:30:00 +03:00
nikita.movshin
65244b4bea
Update copyright.
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +03:00
Svyatoslav Kuzmich
889b4d721d
[JS IR BE] Use constructor parameter to determine underlying type for inline classes
...
Inline classes from lazy IR may not have files.
2019-04-22 13:18:01 +03:00
Svyatoslav Kuzmich
03ba0eae5a
[JS IR BE] Minor: better internal error message in Namer
2019-04-22 13:18:00 +03:00
Svyatoslav Kuzmich
7c2ee41491
[JS IR BE] Fix boolean companion object
2019-04-22 13:18:00 +03:00
Svyatoslav Kuzmich
977d3ef840
[JS IR BE] New name generator
2019-04-13 14:19:36 +03:00
Svyatoslav Kuzmich
a16ca5e66c
[JS IR BE] Static members lowering pass
2019-04-13 14:17:59 +03:00
Svyatoslav Kuzmich
5c5d65bdb9
[JS IR BE] Lower dataClass hashCode and toString
2019-04-13 14:17:59 +03:00