Dmitry Petrov
badfade2fd
FIR2IR strip FlexibleNullability on IMPLICIT_NOTNULL
2021-11-24 16:19:10 +00:00
Ivan Kylchik
c7435ba760
Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
...
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Ivan Kochurkin
e52a410599
[FIR] Initialize outer type parameters for local classes
2021-11-12 15:20:42 +03:00
Mikhail Glukhikh
d6bc6bec59
FIR2IR: read extension function type attribute properly
2021-11-12 12:53:32 +03:00
Alexander Udalov
1071919706
Remove backend tests on old inference
...
Also remove any mentions of NewInference, and rename some tests.
2021-11-09 20:07:33 +01:00
Mikhail Glukhikh
5b6e21690b
FIR2IR: call fake overrides properly #KT-49288 Fixed
2021-11-09 21:04:35 +03:00
Mads Ager
e1f6c19c83
[FIR] Fix local variable tests.
...
- Mangle names for extension receivers in lambdas
- Correctly mark anonymous variables and variables for arguments
for destructuring declaration.
There is one failure remaining which is cause by lambda
type inference differences that leads to FIR having an explicit
return from the lambda whereas old frontend leads to an implicit
return. This difference is visible in debug stepping that the
local variables tests do because the implicit return has the line
number of the closing brace of the lambda. This change adds an
IrText test to make the difference clear.
2021-11-09 11:09:11 +03:00
Mads Ager
e5bff514b6
FIR2IR: Fix line number differences in try block
2021-11-01 23:59:59 +03:00
Mads Ager
41aa0a7c7f
[FIR] Fix line number differences between psi2ir and fir2ir.
2021-11-01 15:43:13 +03:00
Ivan Kochurkin
82591bb107
[FIR2IR] More accurate equals intrinsic for double/float types
2021-10-25 21:21:43 +03:00
Ivan Kochurkin
b4fada82ae
[FIR2IR] Fix conversion of loops with withIndex
2021-10-25 21:21:42 +03:00
Ivan Kochurkin
3210a2a950
[FIR2IR] Recognize postfix inc/dec pattern from block statements
2021-10-25 21:21:40 +03:00
Ivan Kochurkin
0d91e16a15
[FIR2IR] Fix considering of Contains intrinsic
2021-10-25 21:21:40 +03:00
Ivan Kochurkin
15d23f2a72
[FIR2IR] Fix applying of equals intrinsics
2021-10-25 21:21:39 +03:00
Ivan Kochurkin
31507e7e7e
[FIR2IR] Fix origin for desugared blocks (to enable jvm optimization lowering)
...
Move getIrAssignmentOrigin to ConversionUtils
2021-10-25 21:21:37 +03:00
Denis.Zharkov
a0a57581ec
FIR: Do not add alias for variables with explicit type
2021-10-20 22:05:24 +03:00
Dmitry Petrov
6f33259bc3
PSI2IR KT-49203 INVISIBLE_FAKE setter is non-referenceable
2021-10-13 18:38:23 +03:00
Dmitriy Novozhilov
b454fcc1e0
[FIR] Save IR dumps to .ir.txt files instead of .txt in tests
...
This is needed to avoid clashes between different dumps from different
handlers
2021-10-12 17:26:36 +03:00
Alexander Udalov
9857af7823
Psi2ir: fix function type check for fun interface conversion
...
Parameter of a synthetic SAM adapter always has a function type (not a
subtype). Checking for the subtypes broke the case from KT-46908, where
fun interface is itself a subtype of a function type.
#KT-46908 Fixed
2021-09-30 14:07:07 +02:00
Alexander Udalov
e6a160e115
Minor, uncomment passing IR text test
2021-09-30 14:07:07 +02:00
Victor Petukhov
ee728b6902
Use the new type inference for top-level callable reference resolution
...
^KT-47797 Fixed
^KT-47987 Fixed
^KT-45034 Fixed
^KT-48446 Fixed
^KT-13934 Fixed
2021-09-27 16:12:27 +03:00
Pavel Kunyavskiy
a40022efcd
Generate IR for annotation class constructors.
2021-09-23 06:59:33 +00:00
Dmitriy Novozhilov
bfeb9c219d
[FE 1.0] Correctly set USED_AS_EXPRESSION for unreachable catch clauses
...
^KT-48806 Fixed
2021-09-17 18:38:19 +03:00
Tianyu Geng
765cad8448
FIR checker: substitute type parameters in dispatch receiver type
...
Consider the following code:
```
fun test(a: List<String>) {
a.first()
}
```
The dispatch receiver type of `first` in this case is `List<T>` before
this change. After this change, it's `List<String>`.
In addition, this change also replace the dispatch receiver type with
the more specific type if available. For example, consider the following
```
class MyList: ArrayList<String>()
fun test(a: MyList) {
a.get(0)
}
```
The dispatch receiver type of `get` is `MyList`, instead of
`ArrayList<String>`. That is, a fake override is created in this case.
2021-09-17 01:59:06 +03:00
Dmitriy Novozhilov
d390f881c8
[FE 1.0] Record USED_AS_EXPRESSION for unreachable CFG nodes
...
^KT-48708 Fixed
2021-09-13 16:22:50 +03:00
Mikhail Glukhikh
fc6403679a
Rename !USE_EXPERIMENTAL test directive to !OPT_IN
2021-09-10 16:29:16 +03:00
Dmitriy Novozhilov
5a5d25d350
[FE 1.0] Postpone ProhibitSimplificationOfNonTrivialConstBooleanExpressions till 1.7
...
^KT-39883
2021-09-02 13:34:25 +03:00
Alexander Udalov
ffe0d9de70
Psi2ir: do not sort descriptors for fake override generation
...
Descriptors are already supposed to be sorted in scopes. The problem is
that rendering descriptors for sorting takes a lot of time (~1.5% of
total compilation time of intellij with JVM IR), and simple heuristics,
like comparing by names first, don't fully help with it.
#KT-48233
2021-08-31 20:25:59 +02:00
Dmitriy Novozhilov
40614507d3
[FE 1.0] Report warning about new IL operator resolve in initializers and default values
...
^KT-48361 Fixed
2021-08-23 16:20:41 +03:00
Mikhael Bogdanov
8ab546ba51
[FIR]: Pass special origins for local functions (named and anonymous)
2021-08-18 09:58:27 +00:00
Mikhael Bogdanov
a5e59e09ee
Copy methods for lambdas to DefaultImpls without receiver transformation
...
#KT-48230 Fixed
2021-08-18 09:58:27 +00:00
Tianyu Geng
0026560bd7
FIR: substitute the whole lambda body after builder inference
2021-08-06 22:57:13 +03:00
Mikhael Bogdanov
a544d6948b
Fix simpleUnaryOperators.kt test
2021-07-29 19:45:56 +02:00
Alexander Udalov
b442e598d3
Fix test data of codegen tests for KT-47328 for 1.6
2021-07-29 19:45:55 +02:00
Mikhael Bogdanov
38fb5e16ef
Update test affected by ApproximateIntegerLiteralTypesInReceiverPosition feature
2021-07-29 19:45:54 +02:00
Dmitry Petrov
d41fc0b599
PSI2IR fix suspend conversion tests
...
- support chained suspend conversion + SAM conversion
- support suspend conversion in vararg elements
2021-07-17 09:10:19 +03:00
Ilya Chernikov
c83614386e
[minor] FIR: (temporarily) fix testdata due to different builtins behavior
2021-07-16 02:24:45 +03:00
Ilya Chernikov
8f5d5c3ace
FIR: Fixes in testdata after implementing FIR-specific IrBuiltIns
2021-07-16 02:24:29 +03:00
Dmitry Petrov
8ea4916d64
JVM_IR KT-47739 recognize fake override external stubs
2021-07-15 19:20:39 +03:00
Dmitriy Novozhilov
ae608ea67f
[FE 1.0] Always create return value for CallInstruction
...
This fixes missing `USED_AS_EXPRESSION` recordings
^KT-47527 Fixed
2021-07-02 17:55:20 +03:00
Dmitry Petrov
c132e1a39f
PSI2IR fix flaky SOE
2021-07-02 13:10:04 +03:00
Dmitry Petrov
560c269e05
PSI2IR KT-47450 prevent SOE when generating IR for deep expressions
2021-06-28 15:41:41 +03:00
Dmitry Petrov
c19792e7c5
JVM_IR KT-47326 downcast field receiver on JvmField lowering
2021-06-21 19:17:54 +03:00
Andrey Zinovyev
d360932ebc
[FIR] Fill overriddenSymbols for fake overridden IrProperty
2021-06-17 13:24:12 +03:00
Roman Artemev
14c91ca0de
[TEST] Set proper TARGET_BACKEND for jvm-specific irText tests
2021-06-16 21:16:43 +03:00
Dmitry Petrov
bf077b893c
PSI2IR KT-47245 handle declaration statements in control structures
2021-06-11 16:42:31 +03:00
Denis.Zharkov
592256976e
FIR: Fix inference of builder-inference function from expect type
...
Previously, such calls were being completed with FULL mode and incorrect
INFERENCE_NO_INFORMATION_FOR_PARAMETER has been reported
2021-06-07 15:25:57 +03:00
Denis.Zharkov
5ade831665
FIR: Fix INFERENCE_NO_INFORMATION_FOR_PARAMETER on type alias with generic expansion
...
^KT-46996 Fixed
2021-06-07 15:25:55 +03:00
Denis.Zharkov
d76db0e011
FIR: Mute backend tests relevant to new INFERENCE_NO_INFORMATION_FOR_PARAMETER
...
See KT-46967 and KT-46996
2021-06-07 15:25:53 +03:00
Denis.Zharkov
0aca3a3737
FIR: Adjust test data after introduction of INFERENCE_NO_INFORMATION_FOR_PARAMETER
...
See previous commits for details
2021-06-07 15:25:47 +03:00