Svyatoslav Scherbina
944c60eb66
ir.tree: fix bug in IrElementTransformerVoid
2018-06-21 18:18:01 +03:00
Mikhael Bogdanov
ede751c074
Support more cases in special bridge lowering
2018-06-21 11:18:37 +02:00
Mikhael Bogdanov
c588d22e6a
Don't sort descriptors in DeclarationStubGenerator
...
Sorting adds 30% time to test execution
2018-06-21 11:18:35 +02:00
Roman Artemev
c0f53f3a4d
Move IrSuspendableExpression and SuspensionPoint from Kotlin/Native to common part
2018-06-20 15:06:00 +03:00
Roman Artemev
b65443dd25
[JS IR BE] Support try-catch-finally in new backend
2018-06-19 17:08:14 +03:00
Dmitry Petrov
ecd2709a11
psi2ir: type arguments for function references
2018-06-19 11:13:50 +03:00
Roman Artemev
17d71f1e46
[JS IR BE] Implement type check
...
* IrTypeOperator lowering
* runtime support
* refactoring
2018-06-14 18:40:06 +03:00
Mikhael Bogdanov
5753f93a57
Support java synthetic properties in DependencyCollector
2018-06-04 10:49:56 +02:00
Dmitry Petrov
8094cb7dc5
psi2ir: Generate external dependencies in a loop
...
There are some cases (superclasses, overridden methods, and so on) where
external dependencies generation can require additional external
dependencies.
2018-05-31 10:09:31 +03:00
Dmitry Petrov
7a2bb79777
psi2ir: Use substituted 'hashCopy' for generated data class 'hashCopy'
2018-05-30 12:02:34 +03:00
Dmitry Petrov
ab455d6572
IR: IrSimpleFunction.correspondingProperty: IrProperty?
...
Non-null for a property accessor, points to a corresponding property.
2018-05-25 09:40:51 +03:00
Dmitry Petrov
216dbf9637
Drop IrDeclarationKind
2018-05-25 09:40:51 +03:00
Dmitry Petrov
2a0e7eb412
IR: split IrUtils.kt into common and backend-specific part
2018-05-25 09:40:51 +03:00
Mikhael Bogdanov
e9216625f0
Update logic to $default function lowering (don't skip interface members)
2018-05-15 16:06:31 +02:00
Mikhael Bogdanov
d4d8fe4995
Migrate DescriptorsFactory.getSymbolForObjectInstance() API to symbols
2018-05-15 16:05:57 +02:00
Dmitry Petrov
a57869993d
Fix asserted cast in IrBuilderWithScope.irReturn
2018-05-15 15:43:56 +03:00
Igor Chevdar
6daabca90b
Fixed forgotten receivers during copying
2018-05-14 16:01:13 +03:00
Dmitry Petrov
0feb50021c
IrClass.isInner
2018-05-14 10:37:27 +03:00
Roman Artemev
131fb642aa
Fix initializer lowering crash during deep copy
2018-05-11 17:14:30 +03:00
Dmitry Petrov
93f5fe2451
IrField is 'final' if corresponding property is 'val'
2018-05-11 11:24:46 +03:00
Dmitry Petrov
d83849eec5
IR: IrValueSymbol.owner: IrValueDeclaration
2018-05-11 11:24:46 +03:00
Dmitry Petrov
1592aa499f
IR: IrFunctionSymbol.owner: IrFunction
...
This requires some class hierarchy juggling around
IrFunction and IrReturnableBlock.
2018-05-11 11:24:46 +03:00
Dmitry Petrov
f500329dac
IR: IrFunction.name
2018-05-11 11:24:46 +03:00
Dmitry Petrov
729efaf912
IR: IrConstructor.isPrimary
...
NB this is required for Kotlin/JS.
2018-05-11 11:24:46 +03:00
Dmitry Petrov
a6057fb499
IR: {IrClass, IrFunction, IrProperty, IrField}.isExternal
2018-05-11 11:24:46 +03:00
Dmitry Petrov
9717345e3b
IR: IrField.isFinal
2018-05-11 11:24:46 +03:00
Roman Artemev
8bc80a9829
Fix secondary constructor lowering
2018-04-27 20:02:57 +03:00
Dmitry Petrov
d3a1d93460
Type translation, initial import
2018-04-17 10:35:52 +03:00
Dmitry Petrov
d1fe32a486
IrType: basic interface & implementation
2018-04-17 10:35:52 +03:00
Dmitry Petrov
e6baf0296d
More annotation generation for declarations with test cases
2018-04-09 11:24:37 +03:00
Dmitry Petrov
fdd8b7ae6c
Annotations in IR are represented as call expressions (nothing else)
2018-04-09 11:24:37 +03:00
Dmitry Petrov
57077a5eb8
Generate annotations for declarations in psi2ir
2018-04-09 11:24:37 +03:00
Dmitry Petrov
c2dced775d
IrDeclaration has annotations
...
Note that acceptChildren doesn't traverse them (yet?).
2018-04-09 11:24:37 +03:00
Dmitry Petrov
e74c448c0a
Minor: reformat code
2018-04-09 11:24:37 +03:00
Anton Bannykh
a514c0f515
JS IR: initial lowerings reuse
2018-03-29 20:32:10 +03:00
Dmitry Petrov
3a936c9e27
Minor: drop 'transformTypeArguments'
2018-03-27 17:25:11 +03:00
Dmitry Petrov
47b3152bd0
Throw detailed exceptions for incorrect argument indices
2018-03-27 17:25:11 +03:00
Dmitry Petrov
9a76ee63ab
Determine typeArgumentsCount by descriptor
2018-03-27 17:25:11 +03:00
Dmitry Petrov
3b967017f6
Render type arguments by index
2018-03-27 17:25:11 +03:00
Dmitry Petrov
b5607e4b3d
Store type arguments by indices instead of TypeParameterDescriptor keys
2018-03-27 17:25:11 +03:00
Alexey Tsvetkov
8a82c1618c
Use Plugins DSL in Kotlin Gradle scripts
...
When plugins DSL is used, there is no need to
manually generate typesafe accessors for extensions and
conventions (by running `./gradlew kotlinDslAccessorsSnapshot`).
2018-03-26 16:09:29 +03:00
Dmitry Petrov
37040523ad
valueArgumentsCount
2018-03-23 11:43:44 +03:00
Dmitry Petrov
3c7914b0c1
Minor: drop obsolete code
2018-03-23 11:43:44 +03:00
Dmitry Petrov
135d3ab57a
Fix type arguments mapping
2018-03-23 11:43:44 +03:00
Dmitry Petrov
eb5904ea8e
Underlying constructor for type alias should always be substituted
...
Otherwise PSI2IR fails because of type mismatch.
2018-03-23 11:43:44 +03:00
Svyatoslav Scherbina
5abade0e32
Fix missing type parameters of property accessors in external IR stubs
2018-03-06 16:43:20 +03:00
Svyatoslav Scherbina
7a2d761a7d
Add minor improvements to psi2ir and IR utilities:
...
* Generate missing IR parameter declarations in external stubs
* Use origin = FAKE_OVERRIDE in external IR stubs for fake overrides
* Set .parent in external IR stubs
* Set .parent in IR generated by some utility methods
2018-03-02 15:41:48 +03:00
Dmitry Petrov
13a7270129
Generate type parameter declarations for property accessors
...
This requires "scoped" type parameter symbols, because in the ugly world
of descriptors property accessors have no type parameters of their own.
2018-03-02 14:35:35 +03:00
Yan Zhulanow
34d1611ed4
Add Pill support to compiler and IDE modules
2018-03-02 03:15:17 +03:00
Dmitry Petrov
b206bf199f
Add type operand symbol for type operator expression
2018-02-28 10:35:13 +03:00