Dmitriy Novozhilov
6e2402620f
[FIR] Fix collecting member candidates on receiver with smartcast
...
^KT-51460 Fixed
^KT-51827
2022-04-07 12:18:48 +00:00
Denis.Zharkov
ef84dddc88
FIR: Add preliminary support for context receivers in resolution
2022-04-06 16:05:32 +00:00
Denis.Zharkov
54c3e7e7c5
FIR: Support context receiver in FIR building
2022-04-06 16:05:24 +00:00
Ivan Kochurkin
c7122c1492
[FIR] Fix break/continue in try-finally in loop, ^KT-51759
2022-04-05 15:50:47 +00:00
Ivan Kochurkin
fc77d0d26b
[FIR] Fix false positive errors for members with explicit API mode, ^KT-51758 Fixed
2022-04-05 15:50:45 +00:00
Ivan Kochurkin
48dbb9ceb9
[FIR] Fix resolving of refs with implicit this in lambdas in smartcasts
2022-04-05 15:50:43 +00:00
Ivan Kochurkin
c6f52893fb
[FIR] Fix inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and properties
...
^KT-51203 Fixed
2022-04-05 15:50:43 +00:00
Ivan Kochurkin
4617615fd9
[FIR] Fix false-positive INAPPLICABLE_LATEINIT_MODIFIER for property with unresolved type
...
^KT-51624 Fixed
2022-04-05 15:50:42 +00:00
Dmitry Timofeev
4e784eeb33
Create INTERSECTION_TYPE stubs for definitely non-nullable types
...
^KTIJ-20802 Fixed
2022-04-05 10:48:12 +00:00
Mikhail Glukhikh
0ef32e5807
Don't create substituted copy of invoke descriptor with unchanged names
...
#KT-34919 Fixed
2022-04-04 13:08:28 +00:00
Mikhail Glukhikh
899dc401c8
Add test for KT-51499 (occurs in FE10, already fixed in FIR)
2022-04-04 12:51:33 +00:00
Mikhail Glukhikh
aaebb7a30e
FIR: don't create delegated constructor call in expect
...
#KT-51756 Fixed
2022-04-01 16:15:53 +03:00
Ilya Chernikov
03cbfea737
FIR LT: Introduce source file abstraction, carry it from parsing to IR
...
along with source lines mapping, allows to "emulate" usage of the
PSI files which allows to extract source file and line mapping info
on every stage from source element.
It makes sense to use this mapping for the error reporting too.
2022-03-30 08:34:30 +00:00
Ilya Chernikov
9e32188938
FIR LT: add syntax error reporting to LT2Fir
...
use it in the new pipeline
2022-03-30 08:31:56 +00:00
Dmitriy Novozhilov
078acb1bfe
[FE] Fix positioning strategy for SAFE_CALL_WILL_CHANGE_NULLABILITY warning
...
^KT-46860
2022-03-28 12:37:25 +00:00
Dmitriy Novozhilov
565c61a702
[FE 1.0] Fix false-negative INVALID_IF_AS_EXPRESSION_WARNING and NO_ELSE_IN_WHEN_WARNING
...
^KT-51711 Fixed
2022-03-28 12:37:24 +00:00
Victor Petukhov
7e491edf95
Allow empty type info for excl expressions
...
^KT-34515 Fixed
2022-03-24 11:46:00 +00:00
Victor Petukhov
22b2554368
[FE 1.0] Support suspend only SAM conversions
...
^KT-50477 Fixed
2022-03-24 09:28:28 +00:00
Victor Petukhov
2307122089
[FE 1.0] Report errors for recursive types from completion as well
...
Such diagnostics could be missed at least for plus assignment's right side because it wasn't report for the second time of analysis
^KT-48546 Fixed
2022-03-23 21:13:34 +00:00
Victor Petukhov
27fa632630
[FE 1.0] Update test data with new error type representation
2022-03-23 21:13:33 +00:00
Victor Petukhov
b5933c70e2
[FE 1.0] Refactor error utils: split error entities and introduce error type and error scope kinds
2022-03-23 21:13:33 +00:00
Jinseong Jeon
881a6bed35
AA: add tests about resolution to Java static method
2022-03-22 15:44:50 +01:00
Jinseong Jeon
13b9fed488
AA FE1.0: make invoke reference handle implicit invoke only
2022-03-22 15:44:49 +01:00
Jinseong Jeon
06d1acaadd
AA: one more kind for Java synthetic property origin
2022-03-22 15:44:47 +01:00
Jinseong Jeon
cbef3faae7
AA: expose library modules in the project structure
2022-03-22 15:44:46 +01:00
Jinseong Jeon
dcc349da0d
AA: split PSI lookup utils from deserialized declaration provider
2022-03-22 15:44:46 +01:00
Jinseong Jeon
4d938e93c6
FIR LC: remove IDE prefix from FIR version of KotlinAsJavaSupport
...
since it's used in standalone mode as well
2022-03-22 15:44:45 +01:00
Roman Golyshev
22830cf159
[FIR IDE] Fix resolving sugared compound operators (like +=, -=)
...
^KTIJ-21374 Fixed
2022-03-22 13:14:54 +00:00
Mikhail Glukhikh
70366c3bcb
FIR: forbid java.lang.String deprecated constructors #KT-51364 Fixed
2022-03-21 13:58:13 +00:00
Roman Golyshev
644db43e67
[FIR IDE] Filter non-implicit smart-casts in KtSmartCastProviderMixIn
...
Also, make `getSmartCastInfo` work more like SMART_CAST slice for
binding context
^KTIJ-21013 Fixed
2022-03-18 01:01:46 +04:00
Yan Zhulanow
dd2afb558e
Port stub-relating changes from 'master' of IntelliJ
2022-03-17 17:44:55 +09:00
Roman Golyshev
7bcd67068c
[FIR IDE] Resolve explicit invoke calls more correctly
...
Also, enable some muted tests
^KTIJ-21343 Fixed
2022-03-15 21:29:36 +03:00
Ilya Kirillov
8b8d81cf2f
[symbol lc] fix compilation of SymbolLightClassesForLibraryFrontendApiTestConfiguratorService
2022-03-15 19:50:19 +03:00
Jinseong Jeon
a106ec6530
Do not create FastJarFileSystem when USE_PSI_CLASS_FILES_READING
...
because the intention of that configuration is to use "slower" class
reading.
In the near future, even though FIR is enabled, which uses experimental
faster jar file system, FIR clients (e.g., FIR UAST or Android Lint) may
still need to use slower class reading. So, we need to handle that
configuration before checking others.
2022-03-15 19:50:18 +03:00
Jinseong Jeon
24ec1e0cab
AA: include root when populating files for scope of KtLibraryModule
2022-03-15 19:50:18 +03:00
Jinseong Jeon
6ec6def8e3
AA: reuse CoreJarFileSystem from KotlinCoreEnvironment in tests
2022-03-15 19:50:17 +03:00
Jinseong Jeon
89725941df
AA: showcase an error in resolution to stdlib in standalone mode
2022-03-15 19:50:16 +03:00
Mikhail Glukhikh
3251c474a2
FIR: add test for KT-51621 (qualifiers conflict case)
2022-03-15 13:21:02 +00:00
Mikhail Glukhikh
0a7da903f4
FE1.0/FIR: add test for "double import" situation
2022-03-15 13:21:00 +00:00
Mikhail Glukhikh
6b53ac8367
FIR: forbid top-level destructuring declarations #KT-50468 Fixed
2022-03-15 13:08:18 +00:00
Mikhail Glukhikh
6ecc97575d
FIR: make deeper recursive type alias expansion check (see KT-37000)
2022-03-15 13:08:18 +00:00
Yan Zhulanow
c334a44e02
Preserve synthetic enum methods in stub-based 'ClsClassImpl'
...
'ClsClassImpl' instances created by the platform contain synthetic
enum methods (added by 'ClassInnerStuffCache.calcMethods()'). Such
convention is common in IntelliJ (see KT-36095 and
'9a8b345adaded83fe13980a28db5d9f9acc7450d' in the IntelliJ repository).
This commit makes Kotlin's stub-based classes consistent with the
convention. Instead, a filter is added in place of 'ClsClassImpl' usage.
See also the following commits:
- 7c86911f44
- 43468c6d55
2022-03-14 17:53:55 +09:00
Yan Zhulanow
fa4dadf9b7
Update KotlinClassInnerStuffCache implementation
...
'KotlinClassInnerStuffCache' was copy-pasted from the platform's
'ClassInnerStuffCache' several years ago. After J2K and other changes,
it became quite dirty.
Besides cleaning things up, enum synthetic method handling have
significantly improved. Before, such methods were handled only in
'processDeclarationsInEnum', and 'getMethods()' didn't return them.
This led to inconsistent behavior and was reason for providing special
ad-hoc support in '1b6ded600518176b21cc308ed3e032ef8d04cc90'.
2022-03-14 17:53:55 +09:00
Yan Zhulanow
955d0841bd
Remove unused modification tracker in KotlinClassInnerStuffCache
...
'dropCaches()' is not used anywhere both in the compiler and in the IDE.
2022-03-14 17:53:55 +09:00
Yan Zhulanow
f237631f05
Revert "FIR/LC: create synthetic members of enum class"
...
This reverts commit 1b6ded60
2022-03-14 17:53:55 +09:00
Jinseong Jeon
46707b0426
AA: test evaluation mode with same test inputs
2022-03-11 13:51:16 +01:00
Jinseong Jeon
a7fcbfb717
AA: move logic to evaluate constant property initializer
...
so as to handle composite expressions w/ constant property
2022-03-11 13:51:16 +01:00
Jinseong Jeon
606033e1e6
AA: introduce KtConstantEvaluationMode
2022-03-11 13:51:15 +01:00
Jinseong Jeon
ee23a52e54
AA: avoid conversions to KtInitializerValue in constant evaluator
2022-03-11 13:51:15 +01:00
Jinseong Jeon
1f93630a9c
AA: evaluate constant property initializers
2022-03-11 13:51:14 +01:00