Dmitry Petrov
843fb88459
IR: IrSimpleFunction.isFakeOverride
2019-11-01 14:55:09 +03:00
Steven Schäfer
a90ac2438d
Set correct field visibility in psi2ir
2019-08-28 19:41:11 +02:00
Dmitry Petrov
bdec8b04e8
Minor: trim in RenderIrElementVisitor
2019-07-31 10:37:35 +03:00
Dmitry Petrov
a5c95275f0
IR: get rid of descriptors in DumpIrTree
2019-03-21 11:23:51 +03:00
Dmitry Petrov
9a82f926a1
IR: descriptor-less rendering of IR elements (work in progress)
2019-03-21 11:23:51 +03:00
Dmitry Petrov
e49eae528c
IR: don't use descriptors in rendering (work in progress)
...
There's some descriptor-based code remaining. Need some more work on IR.
2019-03-21 11:23:51 +03:00
Dmitry Petrov
6dfcf15a39
IR: IrField.isStatic
2018-07-31 13:39:54 +03:00
Dmitry Petrov
799fcc2606
Fix IrType rendering, update testData
2018-06-29 11:24:46 +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
729efaf912
IR: IrConstructor.isPrimary
...
NB this is required for Kotlin/JS.
2018-05-11 11:24:46 +03:00
Dmitry Petrov
9717345e3b
IR: IrField.isFinal
2018-05-11 11:24:46 +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
b206bf199f
Add type operand symbol for type operator expression
2018-02-28 10:35:13 +03:00
Dmitry Petrov
02f01efaac
Update testData
2018-02-28 10:35:13 +03:00
Dmitry Petrov
e5295d0f78
Generate references to overridden declarations as a separate pass
...
NB currently it relies on overriddenDescriptors in a FunctionDescriptor,
thus maybe incorrect for transformed declarations.
2018-02-28 10:35:13 +03:00
Dmitry Petrov
6cb68531ae
Minor: add missing "'"
2018-01-17 12:31:07 +03:00
Dmitry Petrov
fdd000c94f
Update testData to new format
2018-01-17 12:31:07 +03:00
Dmitry Petrov
78a601af87
Generate parameter declarations for fake overrides
2017-05-04 09:33:03 +03:00
Dmitry Petrov
fa4dc26814
Put 'thisReceiver' declaration in class
...
Interfaces also have 'thisReceiver'
2017-05-04 09:33:03 +03:00
Dmitry Petrov
a511540aad
Render receivers as 'this@owner: type'
...
Add test for generic inner class with generic outer class.
2017-05-04 09:33:03 +03:00
Dmitry Petrov
c9777fd79f
Add symbols to references
...
TODO: fix some more tests
2017-05-04 09:33:03 +03:00
Dmitry Petrov
a416cddcb2
Generate declarations for FAKE_OVERRIDE members
2017-05-04 09:33:03 +03:00
Dmitry Petrov
8cea27b5bb
Generate IrTypeParameter and IrValueParameter declarations
2017-05-04 09:33:03 +03:00
Dmitry Petrov
e4683a1e9f
KT-16666 IMPLICIT_INTEGER_COERCION expression should have non-nullable type
2017-03-07 11:56:52 +03:00
Dmitry Petrov
8c32719f3d
Render 'type' for IrTypeOperatorCall expressions, update testData.
2017-03-07 11:56:52 +03:00
Dmitry Petrov
8e8f83656f
KT-16618 IMPLICIT_INTEGER_COERCION isn't generated for global properties and default parameters
2017-03-07 11:56:52 +03:00
Dmitry Petrov
e66c2621af
KT-16436 Incorrect primitive constants handling
...
Expression '1.unaryMinus()' is resolved as Int::unaryMinus call with Int receiver.
However, this expression is implicitly coerced to a different integral type (Byte, Short, Long)
based on results of constant evaluation.
Introduce IMPLICIT_INTEGER_COERCION type operator to handle such cases.
TODO: should we use it for simple constant expressions like '1' and '-1'?
2017-03-01 09:25:38 +03:00