Tianyu Geng
2c2851af6e
Analysis API: add test covering get missing when branches
...
Also fix FIR implementation to generate boolean branches in the same
order as FE1.0.
2021-11-04 23:04:35 +01:00
Ilya Kirillov
bec9cec31c
LL API: correctly resolve FirSyntheticPropertyAccessor
2021-11-04 12:05:04 +01:00
Denis.Zharkov
2e37ec6f0c
FIR: Fix false-positive ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL on invokeExtension calls
2021-11-02 19:08:27 +03:00
Denis.Zharkov
37b5237e97
FIR: Fix type alias case for callable reference resolution type
2021-11-02 19:08:26 +03:00
Victor Petukhov
c8dea3db35
Add test for using underscored type in different positions
2021-11-01 13:03:40 +03:00
Victor Petukhov
5508d40371
Put using underscored type arguments under a feature
2021-11-01 12:25:45 +03:00
Victor Petukhov
248c9550cd
Support type annotations resolution on an underscored type argument
2021-11-01 12:25:10 +03:00
Victor Petukhov
b69fb6779f
Basic support of partially specified type arguments though a new underscore operator for type arguments
...
^KT-13394
2021-11-01 12:25:07 +03:00
zhelenskiy
ea10b4a781
Synchronizing by values and primitives is forbidden
...
Signed-off-by: zhelenskiy <zhelenskiy2000@yandex.ru >
2021-10-29 18:50:30 +02:00
Dmitriy Novozhilov
877b53201b
[FIR] Prohibit access to members of companion of enum from enum entry initializer
...
^KT-49110
2021-10-29 18:45:23 +03:00
Ivan Kochurkin
744191099c
[FIR] Fix false positive "return required" for if/else with inlined return in branch
...
^KT-49289 Fixed
2021-10-28 20:02:25 +03:00
Dmitriy Novozhilov
0cce0fbbfb
[FIR] Remove unused methods from FirProvider
...
Those methods were created for first prototype of FIR plugin API, and
now they are completely redundant
2021-10-28 15:01:22 +03:00
Dmitriy Novozhilov
4490f64666
[FIR] Get rid of FirAnnotatedDeclaration
...
Now all fir declarations have annotations
^KT-49260 Fixed
2021-10-28 15:01:18 +03:00
Nikolay Lunyak
0eb2d117ef
[FIR] KT-45972, KT-49072: Add visibility checks to the type resolution
2021-10-28 14:31:27 +03:00
Ilya Chernikov
da2d3f29da
Add multiple renderer sources support to new diagnostics infrastructure
2021-10-27 22:17:41 +02:00
Ilya Chernikov
d3f3aa4b29
Move specific diagnostics infrastructure to frontend.common-psi
2021-10-27 22:17:40 +02:00
Ilya Chernikov
e9f59e8d1d
Move common diagnostics infrastructure to frontend.common
2021-10-27 22:17:39 +02:00
Ilya Chernikov
f1d0ead652
Fix fir analysis api after refactorings
2021-10-27 22:17:39 +02:00
Ilya Chernikov
31c58767cf
Rearrange fir diagnostic for further reuse
2021-10-27 22:17:39 +02:00
Ilya Chernikov
a65beb2dc5
Move Fir*SourceElement to frontend.common, rename to Kt* (complete)
2021-10-27 21:44:11 +02:00
Mikhail Glukhikh
8bd0b237b7
Convert EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR into deprecation error
...
#KT-28078 Fixed
2021-10-27 19:43:01 +03:00
Tianyu Geng
a969e5af50
FIR: fix API mode checker for local functions
2021-10-27 19:42:52 +03:00
Tianyu Geng
31b7248769
FIR: suppress excessive warning on java Class
...
The root cause is https://youtrack.jetbrains.com/issue/KT-49358 though.
We should undo this change after that issue is fixed.
2021-10-27 19:42:45 +03:00
Victor Petukhov
2261928f4f
Process simple CapturedType in ClassicTypeSystemContext.typeConstructorProjection as well
...
^KT-49101 Fixed
2021-10-26 19:37:58 +03:00
Victor Petukhov
02d06b6390
Transform VisibilityError diagnostic for callable references to further report it on the corresponding argument of a base call
...
^KT-46437 Fixed
2021-10-26 19:37:57 +03:00
Denis.Zharkov
5690a9f21b
FIR: Fix overridability of Kotlin vararg from Java
2021-10-26 18:45:59 +03:00
Denis.Zharkov
4b1ce6c1a7
FIR: Fix safe call receiver nullability after null check
2021-10-26 18:45:59 +03:00
Denis.Zharkov
0bdea4f20a
FIR: Do not create incorrect synthetic property
2021-10-26 18:45:59 +03:00
Denis.Zharkov
52c2908bb7
FIR: Fix another inconsistency with FE1.0 in synthetic properties resolution
2021-10-26 18:45:59 +03:00
Denis.Zharkov
16e8e0e58b
FIR: Add test on raw type scope
...
^KT-49351 Related
2021-10-26 18:45:58 +03:00
Denis.Zharkov
507422d3d8
FIR: Fix bare type case with flexible supertypes
2021-10-26 18:45:58 +03:00
Denis.Zharkov
94129dce2e
FIR: Add a test with current behavior on upper bounds with raw types
...
^KT-49345 Related
2021-10-26 18:45:58 +03:00
Mikhail Glukhikh
1fe7a1ebb3
Add FIR test for KT-35565
2021-10-26 13:38:35 +03:00
Roman Golyshev
3148913e60
Fix test data
...
It is a follow-up commit for 9b3add0130 ,
where `CorrespondingProperty` property was added
2021-10-25 21:15:37 +03:00
Ivan Kylchik
225b064470
Implement new 'mix' test mode
...
This mode must be used when one configuration will run several tests
for different JUnit versions.
2021-10-25 00:14:20 +03:00
Tianyu Geng
8bec5cec61
FIR LL: fix KtDeclarationAndFirDeclarationEqualityChecker
...
1. Nullable function type is not rendered correctly.
2. Bounds of type parameters are not considered during comparison, this
would incorrectly treat different declarations as the same, for
example
```
fun <C: List<String>> C.foo() {}
fun <C: Set<String>> C.foo() {}
```
2021-10-23 15:33:32 +02:00
Tianyu Geng
5a1680ca3b
FIR LL: fix resolving proerties in library
...
Property can be overloaded with different extension receiver type.
2021-10-23 15:33:31 +02:00
Mikhail Glukhikh
79b98f9173
FIR: introduce synthetic property symbol hierarchy
2021-10-23 01:19:07 +03:00
Dmitriy Novozhilov
a2b8493f47
[FE 1.0] Prohibit using non exhaustive if and when in rhs of elvis expression
...
^KT-44705
^KT-49349 Fixed
2021-10-21 19:39:51 +03:00
Dmitriy Novozhilov
06a26a5a74
[FE 1.0/FIR] Fix message of SEALED_SUPERTYPE_IN_LOCAL_CLASS diagnostic
...
^KT-46285 Fixed
2021-10-21 19:39:49 +03:00
Dmitriy Novozhilov
1513e739c6
[FE 1.0] Prohibit confusing syntax inside when branches
...
^KT-48385 Fixed
2021-10-21 19:39:36 +03:00
Denis.Zharkov
4ad5f01324
FIR: Support overrides of generic-typed members with raw-typed ones
...
^KT-49070 Fixed
2021-10-20 22:05:25 +03:00
Denis.Zharkov
a0a57581ec
FIR: Do not add alias for variables with explicit type
2021-10-20 22:05:24 +03:00
Denis.Zharkov
fba44759c0
FIR: Refine visibility check for class members
2021-10-20 22:05:23 +03:00
Yan Zhulanow
b7044803d2
[FIR IDE] Move out-of-block modification trigger to FrontendApiTestConfiguratorService
2021-10-20 19:41:29 +03:00
Yan Zhulanow
2894f87541
[FIR IDE] Move test configurators as constructor parameters
2021-10-20 19:41:29 +03:00
Yan Zhulanow
e2c9be0932
[FIR IDE] Extract common components of the Analysis API to separate modules
2021-10-20 19:41:23 +03:00
Mikhail Glukhikh
7fc19520a5
FIR: substitute super type during tower building properly #KT-49301 Fixed
2021-10-20 12:17:04 +03:00
Ilmir Usmanov
3f8fa3149b
Support extensions in functional supertypes
...
Under a flag for now.
2021-10-18 18:53:26 +03:00
Dmitriy Novozhilov
bee44c6e0f
[FIR] Split :compiler:fir:resolve module into three different modules
...
Those modules are:
- :compiler:fir:providers, which contains Fir and Symbol providers,
scopes, and different utilities used by them
- :compiler:fir:semantics, which contains different abstractions and
entities which are used in resolution and in checkers
- :compiler:fir:resolve, which contains all stuff related to resolution
and inference
There are two pros of this change:
1. It may increase gradle build, because it allows to compile :fir:resolve
and :fir:checkers modules in parallel
2. Logic of working FIR (scopes, providers, DFA logic system, etc) is
now separated from logic of resolution phases, so for example checkers,
which are depend on scopes physically will not be able to run resolve
in any way
2021-10-18 11:10:47 +03:00