Alexander Udalov
9131ff3626
Move IrType.isNullable to 'ir.tree'
2019-06-27 16:43:06 +02:00
Alexander Udalov
29a144cee7
Minor, move IrClass.primaryConstructor to 'ir.tree'
2019-06-27 16:43:06 +02:00
Mikhael Bogdanov
9b6fef005f
Simplify LocalDeclarationsLowering, support declaration pop up via separate lower
...
1. Scheme of capturing local variables not touched
2. Lowered local functions are transposed to the nearest class (including local) or file
3. Local classes are also transpose to the nearest class (including local) or file
2019-06-27 08:07:01 +02:00
Mikhael Bogdanov
bb48e756ca
Minor. Simplify and clean IrElementVisitorVoidWithContext/IrElementTransformerVoidWithContext
2019-06-27 08:06:59 +02:00
Anton Bannykh
d6c10d24e1
JS IR: move inliner to common part; inline suspendCoroutineUninterceptedOrReturnJS
2019-06-26 13:13:39 +03:00
Dmitry Petrov
7a44b0f951
IR: IrTypeOperatorCall.classifierSymbol can be computed from typeOperand
2019-06-26 09:39:16 +03:00
Dmitry Petrov
760806a1ac
IR: IMPLICIT_DYNAMIC_CAST
...
Generate IMPLICIT_DYNAMIC_CAST for implicit casts from `dynamic` to `T`
2019-06-26 09:39:16 +03:00
Ilmir Usmanov
0ada383281
Move addFunctionOverride to AddContinuationLowering
2019-06-25 16:30:02 +03:00
Ilmir Usmanov
c613e04962
Do not try to create view of suspend function descriptor on IR BE
...
Keep container source in wrapped descriptor
2019-06-25 16:30:02 +03:00
Ilmir Usmanov
48e64e8a07
Use WrappedSimpleFunctionDescriptor instead of real one for
...
suspend function views
2019-06-25 16:30:02 +03:00
Ilmir Usmanov
8306c28117
Generate continuation class for suspend lambdas
...
generate state-machine for coroutines.
2019-06-25 16:30:00 +03:00
Ilmir Usmanov
379390c472
Introduce add continuation pass, which transforms each suspend function
...
and call to have additional continuation parameter.
2019-06-25 16:30:00 +03:00
Svyatoslav Kuzmich
84d48b8c7b
[IR BE] Don't override private declarations
2019-06-21 17:02:01 +03:00
Svyatoslav Kuzmich
7796d084e1
[JS IR BE] Generate fileds for all properties
2019-06-21 17:02:01 +03:00
Roman Artemev
6d2ad63db3
[IR] Support IrLocalDelegatedPropertyReference in klib
2019-06-14 18:40:59 +03:00
Steven Schäfer
3ce0c336bc
Move IrReturnTarget.returnType to IrUtils
2019-06-13 12:25:06 +02:00
Steven Schäfer
27a850be92
Fix genValueAndPut in IrInlineCodegen
2019-06-13 12:25:06 +02:00
Steven Schäfer
9c957edcea
Implement inline classes in the JVM_IR backend
2019-06-13 11:24:15 +02:00
Mikhael Bogdanov
3c093f321d
Support unbound callable function references in inliner
2019-06-04 14:56:12 +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
Georgy Bronnikov
440f327e74
JVM_IR: fix a typo in EnumWhenLowering
2019-05-30 19:04:31 +03:00
Yan Zhulanow
ae7550c5af
Move out JVM debugger functionality
2019-05-30 15:27:07 +09:00
Dmitriy Novozhilov
bd87332b0c
Fix compiler errors in compiler detected after enabling @OnlyInputTypes in NI
2019-05-29 10:57:08 +03:00
Svyatoslav Kuzmich
ceaa64dfb1
[IR BE] Make lateinit fields and variables nullable
2019-05-27 16:24:22 +03:00
Alexander Udalov
8ec466c2cc
Fix compilation error in FlattenStringConcatenationLowering
...
See cf13293363 and 8dc34ae7b9 , which were merged independently
2019-05-24 14:38:08 +02:00
Alexander Udalov
8dc34ae7b9
IR: rename {name,fqName}Safe -> {name,fqName}ForIrSerialization
...
These properties have a very specific detail in their behavior, in that
the constructor's name is set to be "<init>". While this is OK for the
IR serialization, this may not always be expected in other cases, and
their rather common names (`name`, `fqNameSafe`) suggested that these
properties could be used in generic contexts.
Change all usages outside IR serialization to use
`IrDeclarationWithName.name` and nullable
`IrDeclarationWithName.fqNameWhenAvailable` instead
2019-05-24 14:09:09 +02:00
pyos
e7dd41743f
Prefix captured variables' names with $
2019-05-24 11:27:19 +02:00
Svyatoslav Kuzmich
7aed8d2f75
[JS IR BE] Fix lowering types nullability
2019-05-24 11:50:46 +03:00
Mikhail Glukhikh
f3960c9482
Preliminary implementation of parts & facade in FIR-based compiler
2019-05-23 14:02:11 +03: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
Roman Artemev
9c7d47789c
[JS IR BE] Implement type check for SuspendFunctionN
2019-05-22 15:18:13 +03:00
Steven Schäfer
cf13293363
Use FQ names for string plus intrinsic in FlattenStringConcatenationLowering
2019-05-22 12:14:43 +02:00
Jiaxiang Chen
afcbd76c9e
Implement stub methods generation for Kotlin Immutable Collection classes.
...
This change is to fill the gap between Kotlin Collection
classes(immutable) and Java Collection classes(mutable), to avoid
calling an unsupported operation like remove() on an immutable class in
jvm.
2019-05-21 17:20:20 +03:00
Mikhael Bogdanov
6ef3e9ea42
Minor. Code clean
2019-05-21 07:42:15 +02:00
Mikhael Bogdanov
c630df3e49
Simplify code
2019-05-21 07:42:14 +02:00
Mikhael Bogdanov
de62f0123b
Minor. Apply minor TODOs
2019-05-21 07:42:14 +02:00
Mikhael Bogdanov
b8b2607a02
Minor. Clean up code
2019-05-21 07:42:13 +02:00
Steven Schäfer
90c3269502
Fix type parameters in WrappedClassConstructorDescriptor
...
IrConstructorCall gets type parameters from the class in addition to the
constructor declaration. This behavior is already implemented for
ClassConstructorDescriptorImpl, but was not implemented for
WrappedClassConstructorDescriptor, leading to missing type arguments for calls
to constructors generated in a lowering pass.
2019-05-16 20:26:18 +02:00
Roman Artemev
02d84bf061
[IR BE] Delegate coroutine naming strategy to platform part
2019-05-16 19:18:54 +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
Steven Schäfer
076f5e2ef9
Move jvm specific phases to JvmLower
2019-05-15 12:32:42 +03:00
Jake Wharton
aaf533df16
IR lowering for computing trimIndent/trimMargin on constants
2019-05-14 20:19:43 +02:00
Svyatoslav Kuzmich
b07690fccf
Phaser: Implement dumper and verifier as general actions
2019-05-14 16:23:43 +03:00
Svyatoslav Kuzmich
0702b88bf3
[IR BE] Update parents in ArrayConstructorLowering
2019-05-14 16:23:42 +03:00
Martin Petrov
ccf2941f4a
Use spaces instead of tabs to indent -Xlist-phases.
...
In Terminal.app and xterm the output columns get misaligned when using tabs.
Tabbed output only renders correctly when `tabstop=1`.
2019-05-14 15:54:01 +03:00
pyos
40696f65c3
JVM_IR: generate WhenMappings for enum ordinal subjects
2019-05-13 19:09:07 +03:00
pyos
fb194e982e
Copy EnumWhenLowering from Kotlin/Native
2019-05-13 19:09:07 +03:00
Steven Schäfer
b04dc69157
Access this through the dispatch parameter when available
2019-05-13 18:34:00 +03:00