Ivan Kylchik
06a8156376
Change logic of returning object from constructor in interpreter
...
For now there is no need to place object on stack before evaluation.
The result will be taken from memory and all unnecessary values on
stack will be removed
2021-08-06 13:33:02 +03:00
Ivan Kylchik
3326cbd9c0
Support passing property as argument to array constructor in interpreter
2021-08-06 13:33:02 +03:00
Ivan Kylchik
59fefb6214
Fix property rendering in interpreter
2021-08-06 13:33:01 +03:00
Ivan Kylchik
af67e950c4
Replace all assert calls in interpreter with internal verify
...
This swap of methods allow us to handle all asserted errors as
critical and not to process them inside interpreter
2021-08-06 13:33:00 +03:00
Ivan Kylchik
23392b73a9
Simplify the interpretation logic of methods defined in super Wrapper
2021-08-06 13:32:58 +03:00
Ivan Kylchik
cf20e64c61
Support basic interpretation of IrGetClass
2021-08-06 13:32:57 +03:00
Ivan Kylchik
6fe8dd1254
Add ir interpreter tests for ir built from psi
2021-08-06 13:32:57 +03:00
Dmitriy Novozhilov
a9882a86c0
[FIR] Consider extension receiver type in conflicting members checker
2021-08-06 13:31:20 +03:00
Victor Petukhov
cd09c8ba51
Report CANNOT_INFER_PARAMETER_TYPE on any error value parameters of a lambda
...
^KT-48058 Fixed
2021-08-06 13:27:57 +03:00
Victor Petukhov
1966915e92
Create DONT_CARE type only for dependent lambdas (i.e. to be resolved through the type inference later)
...
^KT-47493 Fixed
2021-08-06 13:27:56 +03:00
Andrey Zinovyev
6dd4164f1e
[FIR][CFG] Link finally exit to jump target
...
Instead of try exit node. So try exit is used only for real exits from
try expressions.
2021-08-06 11:49:35 +03:00
Andrey Zinovyev
32426da625
[FIR][CFG] Support multiple levels of finally blocks in jumps
...
Jump inside try expressions now goes through all finally blocks between
it and the target
2021-08-06 11:49:35 +03:00
Andrey Zinovyev
06b23d5937
[FIR] Improve the control flow graph around try expressions
...
1. throw goes to catches instead of main exist block
2. return goes via finally (single level only supported atm)
3. collect non-direct return to retrieve all return expressions easier
2021-08-06 11:49:34 +03:00
Mikhail Glukhikh
11f951e6d1
RawFirBuilder: don't convert scripts to prevent exceptions
2021-08-05 19:24:06 +03:00
Mikhail Glukhikh
8d27f102e7
Fix typo: addCompetedCall -> addCompletedCall
2021-08-05 19:24:06 +03:00
Mikhail Glukhikh
469b3b9d02
Raw FIR: re-use OperatorNameConventions for delegate-related names
2021-08-05 19:24:05 +03:00
Mikhail Glukhikh
22ccb7a943
FIR: discriminate generics during callable reference resolve
2021-08-05 19:24:04 +03:00
Mikhail Glukhikh
e924ee3150
FIR: add test with minOf ambiguity
2021-08-05 19:24:02 +03:00
Dmitry Petrov
02d8c7527e
JVM_IR more aggressive if-null expressions fusion
...
Assume that changing a return type from T to T?
is not a binary-compatible change.
2021-08-05 17:51:49 +03:00
Dmitriy Novozhilov
6f0bf766f2
[Test] Add single service for checking that codegen test is ingored
...
This approach is better than manual check for `IGNORE_BACKEND` directive
because it also tracks `IGNORE_BACKEND_FIR` directive and reduces
duplicating code
2021-08-05 16:59:00 +03:00
Dmitriy Novozhilov
c8386ad1c7
[Test] Properly handle output from separate jvm instance in box tests
2021-08-05 16:58:59 +03:00
Dmitriy Novozhilov
8578f0beea
[FE 1.0] Check for type mismatch for empty when statements
...
^KT-47922 Fixed
2021-08-04 19:33:45 +03:00
Dmitriy Novozhilov
60195114c1
[FIR] Properly create class scopes while resolving of annotations arguments
2021-08-04 18:23:06 +03:00
Victor Petukhov
13cb3c138a
Update FE tests
2021-08-04 17:36:53 +03:00
Victor Petukhov
b6cb393796
Check postponed type variables to determine suitability for builder inference (during shouldRunCompletion check) more careful
...
^KT-42139 Fixed
2021-08-04 17:36:53 +03:00
Victor Petukhov
cf3bd016be
Always complete calls not related to the builder inference
...
^KT-47830 Fixed
2021-08-04 17:36:52 +03:00
Victor Petukhov
dc8dbad0bc
Add compiler X-flag to enable self upper bound type inference
...
^KT-48026 Fixed
2021-08-04 17:36:52 +03:00
Victor Petukhov
7567597be6
Java nullability checker: take type arguments' types from resolution atom if possible, instead of from resolved call directly
...
^KT-47833 Fixed
2021-08-04 17:36:51 +03:00
Victor Petukhov
93f9d9dacd
Check if the intersecting types aren't empty during finding the result type for variable fixation
...
^KT-47941 Fixed
2021-08-04 17:36:50 +03:00
Victor Petukhov
3eaa452f9e
Take into account SimpleTypeWithEnhancement and subtyping related places
...
^KT-47854 Fixed
2021-08-04 17:36:50 +03:00
Andrey Zinovyev
6ab632f6ad
[FIR] Fix mutable context usage in inline diagnostics
...
Also some minor fixes
2021-08-04 17:33:15 +03:00
Andrey Zinovyev
c46a393a19
[FIR] Add REDUNDANT_INLINE_SUSPEND_FUNCTION_TYPE diagnostic
2021-08-04 17:33:15 +03:00
Andrey Zinovyev
e56deb4525
[FIR] Add INLINE_SUSPEND_FUNCTION_TYPE_UNSUPPORTED diagnostic
2021-08-04 17:33:14 +03:00
Andrey Zinovyev
b2f3485d7c
[FIR] Add ILLEGAL_INLINE_PARAMETER_MODIFIER diagnostic
2021-08-04 17:33:14 +03:00
Andrey Zinovyev
dabc983f6a
[FIR] Add INVALID_DEFAULT_FUNCTIONAL_PARAMETER_FOR_INLINE diagnostic
2021-08-04 17:33:13 +03:00
Andrey Zinovyev
efce3fc2e0
[FIR] Add NON_INTERNAL_PUBLISHED_API diagnostic
2021-08-04 17:33:12 +03:00
Andrey Zinovyev
46d1b63f70
[FIR] Add INLINE_PROPERTY_WITH_BACKING_FIELD diagnostic
2021-08-04 17:33:11 +03:00
Andrey Zinovyev
38cecf8b12
[FIR] Add REIFIED_TYPE_PARAMETER_IN_OVERRIDE diagnostic
2021-08-04 17:33:10 +03:00
Andrey Zinovyev
29dbaa4ae1
[FIR] Add OVERRIDE_BY_INLINE diagnostic
2021-08-04 17:33:10 +03:00
Andrey Zinovyev
d8b7b7b2dc
[FIR] Add DECLARATION_CANT_BE_INLINED diagnostic
2021-08-04 17:33:09 +03:00
Andrey Zinovyev
4e06814bc5
[FIR] Add NULLABLE_INLINE_PARAMETER diagnostic
2021-08-04 17:33:08 +03:00
Andrey Zinovyev
015c2d1875
[FIR] Add NOTHING_TO_INLINE diagnostic
2021-08-04 17:33:08 +03:00
Andrey Zinovyev
28344c8530
[FIR] Add NOT_YET_SUPPORTED_IN_INLINE diagnostic
2021-08-04 17:33:07 +03:00
Denis.Zharkov
bc75a21852
Optimize Strings representation at FastJarHandler
2021-08-04 17:04:50 +03:00
Denis.Zharkov
4e66fd29e0
Minor. Rename properties in FastJarVirtualFile
2021-08-04 17:04:49 +03:00
Denis.Zharkov
6cd3d84e74
Optimize parseCentralDirectory
...
Avoid creating redundant IntRange
2021-08-04 17:04:47 +03:00
Denis.Zharkov
f81f28569f
Get rid of last map in FastJarHandler
2021-08-04 17:04:44 +03:00
Igor Laevsky
d8569b6a03
WASM: NFC. Remove dead code
2021-08-04 16:23:38 +03:00
Igor Laevsky
af865544ff
WASM: Implement string hashcode
2021-08-04 16:23:38 +03:00
Igor Laevsky
c526145a48
WASM: Disable bunch of tests which expose the same issue after switch to the wasm native strings
2021-08-04 16:23:37 +03:00