Ilmir Usmanov
6e30ce2763
FE: Make synchronized suspend functions and lambdas error in 1.8
...
#KT-27333 Fixed
2022-04-11 12:02:30 +00:00
Ilmir Usmanov
f473998e8b
FIR: Make 'suspend fun', where 'suspend' is not builtin error in 1.8
...
#KT-49264
2022-04-11 12:02:29 +00:00
Ilmir Usmanov
f75a8109d2
FE 1.0: Make 'suspend fun', where 'suspend' is not builtin error in 1.8
...
#KT-49264 Fixed
2022-04-11 12:02:28 +00:00
Dmitriy Novozhilov
38696a41bc
[Test] Add ability to override some services in AbstractKotlinCompilerTest
2022-04-08 09:42:02 +00:00
Dmitriy Novozhilov
2c6aea47b1
[Test] Introduce provider of path of standard libraries jars
...
Before this change all paths to all libraries were hardcoded to
`dist/kotlinc/lib/...`, which is not suitable for usages of test
framework outside of Kotlin project
2022-04-08 09:42:02 +00:00
Dmitriy Novozhilov
afad6a564a
[Test] Pass CompilerConfiguration to AbstractEnvironmentConfigurator.registerCompilerExtensions
...
This is needed to provide ability to configure extensions depending on
configuration of specific test
2022-04-08 09:42:00 +00:00
Dmitriy Novozhilov
400ad6a01e
[Test] Add ability to configure access to application disposable in test configuration
...
This is needed to unbound CompilerConfigurationProvider from ApplicationEnvironmentDisposer,
which depends on classes from JUnit 5. This will allow to safely use
compiler test framework with base test framework different from JUnit 5
2022-04-08 09:41:59 +00:00
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