romanart
5d6f42e4e6
Fix rebase
2019-03-04 23:24:17 +03:00
Roman Artemev
3770d310f1
Deserialization code clean up
2019-03-04 23:24:17 +03:00
Roman Artemev
a19bdd0c18
[JS IR BE] Refactored klibs proto files
2019-03-04 23:24:16 +03:00
Roman Artemev
cae800b24e
[JS IR BE] Fix deserialization performance
2019-03-04 23:24:15 +03:00
Roman Artemev
079f2534c7
[JS IR BE] Support compilation and tests against klib
2019-03-04 23:24:15 +03:00
Roman Artemev
b99377fd69
[JS IR BE] Fix backend to be able compile test against klib
2019-03-04 23:24:15 +03:00
Roman Artemev
b0b6b359b1
[JS IR BE] Do not produce KotlinType creating IrType
2019-03-04 23:24:14 +03:00
Roman Artemev
6863f9e4f3
[JS IR BE] Make backend be able work with unbound symbols
...
* Fix array type deserialization
* Prepare to compilation against klibs
2019-03-04 23:24:14 +03:00
Roman Artemev
2334ea2742
[JS IR BE] Support IrDynamicExpression in proto and deserializer
2019-03-04 23:24:13 +03:00
Roman Artemev
44010cc6ef
[JS IR BE] Refactored compiler interface
2019-03-04 23:24:13 +03:00
Roman Artemev
67f0d49ea1
[JS IR BE] Fix rebase
2019-03-04 23:24:13 +03:00
Roman Artemev
b2cfef4902
[JS IR BE] Lazy initialize lowering properties
2019-03-04 23:24:12 +03:00
Roman Artemev
c95d99dbe0
[JS IR BE] Use symbol instead of declaration
2019-03-04 23:24:12 +03:00
Roman Artemev
862ccd05df
[JS IR BE] Merge native fixes into Ir Serializer
2019-03-04 23:24:12 +03:00
Roman Artemev
813fef6f26
[JS IR BE] Get rid of usages of KotlinType
2019-03-04 23:24:11 +03:00
Roman Artemev
d034ce106e
[JS IR BE] Implement isPrimitiveArray with pure Ir
2019-03-04 23:24:11 +03:00
Roman Artemev
3a444cd0f3
[JS IR BE] Move IrSerializer from native to JS
...
* Fix issues
2019-03-04 23:24:10 +03:00
Roman Artemev
5384f23f30
[JS IR BE] Extract metadata deserializer to keep binary compatibility
...
* add UniqId extension to metadata protobuf
2019-03-04 23:24:10 +03:00
Roman Artemev
3718edb6bc
[JS IR BE] Some preparation for IrSerialization
2019-03-04 23:24:09 +03:00
Svyatoslav Kuzmich
e11fda1c49
[JS IR BE] Skip external methods in js default arguments stub generators
2019-02-28 20:13:56 +03:00
Svyatoslav Kuzmich
8da076c1ed
[JS IR BE] Fix basic reflection for primitive types
2019-02-28 20:13:56 +03:00
Svyatoslav Kuzmich
a01407eec9
[JS IR BE] Don't mangle Any::equals method
2019-02-28 20:13:56 +03:00
Svyatoslav Kuzmich
27005d7c2e
[JS IR BE] Basic support for external varargs
2019-02-28 20:13:56 +03:00
Svyatoslav Kuzmich
0d9218b017
[JS IR BE] Refactor namer
2019-02-28 20:13:55 +03:00
Svyatoslav Kuzmich
e9cdad1143
[JS IR BE] Remove support for dynamic symbols and descriptors
...
Dynamic expressions in IR are now represented as IrDynamicOperatorExpression
We don't have dynamic functions, dynamic dispatch receivers anymore
2019-02-28 20:13:55 +03:00
Svyatoslav Kuzmich
d323dce2b6
[JS IR BE] Fix codegen for nested external objects
2019-02-28 20:13:55 +03:00
Georgy Bronnikov
5ff1337ec8
Add some phase checkers
2019-02-28 11:53:02 +03:00
Georgy Bronnikov
da13d3288e
Check pre- and postconditions on phases
2019-02-28 11:53:02 +03:00
Mark Punzalan
d4d5a6011c
Flatten nested string concatenation expressions into a single IrStringConcatenation, in a separate lowering phase.
...
Consolidating these into IrStringConcatenations allows the backend to produce efficient code for string concatenations (e.g., using StringBuilder for JVM).
2019-02-27 08:36:35 +01:00
Alexander Gorshenev
888641e7f1
Use file symbol instead of a file name string in IrReturnableBlockImpl
2019-02-26 13:54:04 +03:00
Svyatoslav Kuzmich
569187a751
[JS IR BE] Use Char boxing rules of current backend
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
de020ed58a
[JS IR BE] Generate and export JS properties
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
fc5636b7c1
[JS IR BE] Fix: Don't generate built-in "Function" interface
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
1184c158e4
[JS IR BE] Support @JsName in bridges
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
e09a6f0007
[JS IR BE] Fix codegen for external companion objects
2019-02-25 15:09:25 +03:00
Svyatoslav Kuzmich
c4ffe36a21
[JS IR BE] Add CharSequence type check
2019-02-25 15:09:25 +03:00
Svyatoslav Kuzmich
74c8f54fc8
[JS IR BE] Support cast to native interface
2019-02-25 15:09:25 +03:00
Yan Zhulanow
47f0b68a8c
Change mangling for destructured lambda parameters
2019-02-25 14:43:56 +03:00
Georgy Bronnikov
3531f47bfb
Remove descriptors from ToArrayLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
c3652a47c6
Remove descriptors from JvmStaticAnnotationLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
28bab6510e
Remove descriptors from JvmOverloadsAnnotationLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
f61072873f
remove descriptors from createInnerClassConstructorWithOuterThisParameter
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
72ea4cc3d7
Remove descriptors from BridgeLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
c9b8f58a10
Restore overriddenSymbols consistency in InterfaceDelegationLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
cb757f1cbc
Remove descriptors from SyntheticAccessorLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
9078cb87e8
Remove descriptors from InitializersLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
5d7a736cb1
Remove desriptors from ObjectClassLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
5f4b8dd0aa
Remove descriptors from EnumClassLowering
2019-02-23 00:42:16 +03:00
Dmitry Petrov
b792f3f12f
KT-30020 expressions without resolved calls in augmented assignment LHS
...
Augmented assignment operator (e.g., '+=') can be resolved to simple
function call ('plusAssign'). In that case, augmented assignment LHS
can be an arbitrary expression, and may have no associated ResolvedCall.
For example:
(a as MutableList<Int>) += 42
Note that it can happen only in case of augmented assignment operator
convention resolution, because all other forms of assignment-like
operator desugaring require some kind of 'store' operation
(property setter, 'set' operator for array element expression, etc),
and should resolve to some combination of calls.
In that case we simply generate LHS on 'load', and throw assertion on
'store'.
2019-02-22 17:45:27 +03:00
Dmitry Petrov
c248dd29c2
IR: declaration builders, initial iteration, use in some JVM lowerings
2019-02-21 16:03:11 +03:00