Denis.Zharkov
1e0d9f4075
FIR2IR: Do not add implicit casts for types with different nullability
...
For smart casts, elvises, etc., there are no implicit casts in psi2fir
in changed test data
2021-01-29 10:50:22 +03:00
Mikhail Glukhikh
ef6b643b9c
[FIR2IR] Don't set WHILE_LOOP origin for blocks
2020-10-28 15:44:36 +03:00
Mark Punzalan
f55ff8eb1b
[FIR] Capture receiver for pre/postfix dec/increment of qualified access
...
This prevents double-evaluation of the receiver expression, which may
have side-effects. E.g.: a.b++
2020-09-22 10:20:46 +03:00
Jinseong Jeon
7e22de1e24
FIR2IR: insert coerce-to-unit expressions in statement containers
2020-08-18 21:53:08 +03:00
Jinseong Jeon
e9659d9c8a
FIR2IR: make the scope of body of do-while loop transparent
2020-08-18 21:53:07 +03:00
Mikhail Glukhikh
10c2aa1657
[FIR2IR] Set origin properly for set field / variable
2020-03-18 17:09:35 +03:00
Mikhail Glukhikh
2308e5bb7c
FIR2IR: in case of use-site generic type use call from original class
2020-02-28 15:29:02 +03:00
Mikhail Glukhikh
56c819f06e
FIR2IR: add two-statements block with iterator + while for 'for' loops
...
Before this commit we had two statements blocks for 'for' loops:
range variable declaration + iterator variable declaration + while loop.
However, BE requires a bit different loop structure to make lowerings
properly so in this commit iterator declaration & while loop were
extracted to separate block.
2020-02-17 20:35:17 +03:00
Mikhail Glukhikh
2bfce4f127
FIR2IR: provide correct origins for 'for' loops
2020-02-17 20:35:17 +03:00
Mikhail Glukhikh
4a4fb5a590
Raw FIR: eliminate range variable declaration in 'for' loops
2020-02-17 20:35:17 +03:00
Steven Schäfer
50c477bee1
Update IR text test expectations for FIR
2020-02-15 22:38:10 +03:00
Juan Chen
37abdb1732
[FIR2IR] Fix NoSuchMethod for Iterator::next (same issue with invoke)
2020-02-11 22:50:06 +03:00
Dmitriy Novozhilov
d57fa859c8
[FIR] Implement builders for leaf nodes of FIR tree
2020-02-10 10:54:03 +03:00
Mads Ager
e8a640851a
FIR: Change the Fir2Ir handling of smart casts.
...
Generate the expression with the original type and then insert
an implicit conversion. That matches the behavior of psi2ir
better and therefore avoids breaking backend assumptions.
In particular, IrGetValue expects the type of the underlying
symbol and the type of the IrGetValue to be the same.
2020-01-31 09:31:52 +01:00
Dmitry Petrov
cb1b9c2ccf
IR testData: IrSimpleFunction.isOperator
2019-11-29 13:53:05 +03:00
Steven Schäfer
704e6e96fa
Fir2Ir: Produce IR_TEMPORARY_VARIABLE origins
2019-11-05 14:58:47 +03:00
Dmitriy Novozhilov
4df4c58a05
[FIR] Resolve type of when expression to Unit if it is not exhaustive
2019-10-21 11:59:44 +03:00
Dmitriy Novozhilov
f19a878948
[FIR] Add exhaustive checker for when expressions
...
Also remove generating default else branch introduced in 38fa0122 and 54eb4cf9
2019-10-17 16:20:59 +03:00
Dmitriy Novozhilov
8614323f80
[FIR] Tests. Update some outdated testdata
2019-09-13 12:21:59 +03:00
Dmitriy Novozhilov
5c29af4b53
[FIR] Tests. Update some outdated FIR testdata
2019-09-02 10:43:10 +03:00
Dmitriy Novozhilov
57a2665b00
[FIR] Update tests for previous commit
2019-08-22 10:55:07 +03:00
Dmitry Petrov
bdec8b04e8
Minor: trim in RenderIrElementVisitor
2019-07-31 10:37:35 +03:00
Mikhail Glukhikh
a973a21ec6
FIR2IR: support assignments of local variables
2019-05-23 14:02:11 +03:00
Simon Ogorodnik
aa96837758
[FIR] Introduce unchecked not-null cast as internal operation for !!, ?:
2019-05-23 14:02:08 +03:00
Mikhail Glukhikh
5262f0a53f
Fir2Ir: apply major text data update after a bunch of resolve changes
2019-04-30 18:45:57 +03:00
Dmitry Petrov
865e0cc080
IR: IrConstructorCall: fixes after rebase
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
Mikhail Glukhikh
618295f505
FIR: implement trivial typing for break & continue
2019-04-23 11:18:24 +03:00
Mikhail Glukhikh
881073b1c9
Add basic FIR -> IR converter with a set of text tests
...
Tests duplicate IrTextTestCaseGenerated
#KT-24065 Fixed
2019-04-05 16:18:58 +03:00