Mikhail Glukhikh
446ee943e2
FIR analysis API: fix rendering of Java-based types
2022-05-31 11:34:53 +00:00
Stanislav Erokhin
2deb0cc237
FIR/Analysis API: Add KtValueParameterSymbol#generatedPrimaryConstructorProperty
...
This property are used to allow access to the property created from
the primary constructor parameter
2022-05-30 18:39:21 +00:00
Ilya Kirillov
f189fd1ff0
[Analysis API] make KtDeclarationSymbol <: KtSymbolWithTypeParameters
...
To simplify work with type parameters
2022-05-27 16:39:37 +00:00
Jiaxiang Chen
8f4554959e
AA: make KtClassifierSymbol a subtype of KtAnnotatedSymbol
2022-05-27 16:39:37 +00:00
Jiaxiang Chen
866ebcfe2e
AA: make KtCallableSymbol a subtype of KtAnnotatedSymbol
2022-05-27 16:39:37 +00:00
Victor Petukhov
867ad24c86
[FE] Show causing types in the INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION diagnostic
2022-05-27 15:14:24 +00:00
Tianyu Geng
b5139c958b
[Analysis API] Add KtReferenceMutateService...
...
and delegate renaming and rebinding to this new service for `KtReference`.
In addition, CliKtFe10XXXReference are all removed because it seems they are not necessary because the IDE flavor differs only by handling renaming, which is moved to a separate service.
2022-05-27 15:37:33 +02:00
Tianyu Geng
213e7154c2
Analysis API: remove unnecessary overwrite in KtFirSimpleNameReference
2022-05-27 15:37:32 +02:00
Mikhail Glukhikh
6f17a8713c
Fix KT-47708 in FIR by transferring SAM annotations to synthetic constr.
2022-05-24 12:29:28 +00:00
Dmitriy Novozhilov
d66748d011
[FIR] Extract expect actual matching into separate phase
2022-05-20 13:33:04 +00:00
Ilya Kirillov
b5ad6f5db4
[analysis api] move analysis session classes to separate packages, use KtAnalysisApiInternals to mark internal API
2022-05-12 16:15:14 +02:00
Ilya Kirillov
eb9085c083
[analysis api] rename analyse -> analyze to match American word spelling
2022-05-12 16:15:13 +02:00
Jiaxiang Chen
7b038860b5
AA: add analyzeWithKtModule API for analyzing without KtElement
2022-05-12 16:15:03 +02:00
Ilya Kirillov
ef0160c026
[analysis api] rename ValidityToken -> KtLifetimeToken
2022-05-12 16:15:02 +02:00
Ilya Kirillov
ecbf9cd4d5
[analysis api] fix ISE: No conversion was found for SYNTAX
...
^KT-51786 fixed
2022-05-11 13:14:44 +02:00
Ilya Kirillov
bc92831475
[analysis api] fix ArrayIndexOutOfBoundsException on KtDiagnostic creation
...
The problem was caused by concurrent access to the non-thread safe List.
This list is not needed anymore, previously it was used to store strong
references to FIR diagnostics corresponding references in KtDiagnostics
were weak references.
^KTIJ-21449 fixed
2022-05-10 15:39:28 +00:00
Ilya Kirillov
4ff38c9697
[fir low level, refactoring] rename LLFirModuleResolveState -> LLFirResolveSession
2022-05-05 10:43:13 +02:00
Ilya Kirillov
7b70cf3ae0
[fir low level, refactoring] rename rootModule -> useSiteModule
2022-05-05 10:43:13 +02:00
Victor Petukhov
b96708c3e2
[FE] Support reporting INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION for empty intersection types with type parameters
2022-04-27 19:50:21 +00:00
Victor Petukhov
8e834fc7bb
[FIR] Move subtyping helpers into TypeUtils.kt
2022-04-27 19:50:17 +00:00
Jinseong Jeon
af21b67eb5
LL: cache reverse converted constant expression
2022-04-22 18:55:31 +02:00
Jinseong Jeon
61cca31b6b
AA: special handling for converted constants
2022-04-22 18:55:30 +02:00
Jinseong Jeon
faf6939515
AA: showcase strange const evaluation for -1
2022-04-22 18:55:30 +02:00
Roman Golyshev
ea8a05ec02
[FIR IDE] Small refactoring of KtSymbol's value parameters
2022-04-21 21:12:57 +00:00
Jinseong Jeon
889db4cc5d
AA: indicate whether a value parameter is an implicit lambda parameter
...
^KTIJ-18800 In progress
2022-04-21 19:18:25 +02:00
Jinseong Jeon
a74a51b2d9
AA: add tests about resolution of implicit lambda parameter
2022-04-21 19:18:24 +02:00
Vyacheslav Gerasimov
c8f2872a07
Fix flaky FIR tests
...
failing with 'Jar with annotations does not exist. Please run
:plugins:fir-plugin-prototype:plugin-annotations:jar'
2022-04-20 12:54:08 +03:00
Ilya Kirillov
3b4eb2d788
[kotlin fir] fix creating symbol not in analysis scope
...
^KTIJ-21504 fixed
2022-04-19 19:34:21 +02:00
Ilya Kirillov
9a562a0293
[analysis api] optimize search for declarations in IDE
2022-04-19 12:37:49 +02:00
Ilya Kirillov
9a18598606
[low level api] rework components structure, add ScopeSession caches
2022-04-19 12:37:47 +02:00
Jerome Prinet
44b2905800
Fix JavaApplication.setMainClassName deprecation
2022-04-14 14:21:31 +03:00
Ilya Kirillov
ab80dc680a
[analysis api] regenreate tests
2022-04-13 12:53:30 +02:00
Ilya Kirillov
0fa791e669
[low level fir] lazyly get KtSymbol for builtins
2022-04-13 12:53:28 +02:00
Ilya Kirillov
16470a2406
[analysis api] provide a function to get containing module for a KtSymbol
2022-04-13 12:53:24 +02:00
Ilya Kirillov
2649788b87
[analysis api fir] put every library into a separate KtModule in tests
2022-04-13 12:53:22 +02:00
Ilya Kirillov
e69fa1ae07
[analysis api, test] rework test infrastructure, add possibility to create multimodule tests
2022-04-13 12:53:19 +02:00
Ilya Kirillov
2506878063
[analysis api, tests] regenerate tests
2022-04-13 12:53:16 +02:00
Ilya Kirillov
329e495b63
[analysis api, tests] generate analysis api in a separate tests-gen folder
2022-04-13 12:53:14 +02:00
Ilya Kirillov
78685e93d1
[analysis api, tests] move resolve call tests to separate package
2022-04-13 12:53:05 +02:00
Ilya Kirillov
8dd66dd338
[analysis api] regenerate tests
2022-04-13 12:53:04 +02:00
Ilya Kirillov
4bd7fed1ea
[analysis api, test] rework test infrastructure, add multimodule tests
2022-04-13 12:53:01 +02:00
Ilya Kirillov
1e5cf80278
[analysis api, refactoring] move base test cases to base modules, improve service names
2022-04-13 12:53:00 +02:00
Ilya Kirillov
443ee4c860
[analysis api] allow generating test with for with more possible parameters
2022-04-13 12:52:59 +02:00
Ilya Kirillov
12e0254918
[analysis api] simplify dependent analysis mode tests
2022-04-13 12:52:58 +02:00
Ilya Kirillov
3206c0ce87
[analysis api, refactoring] get rid of HL name in class names
2022-04-13 12:52:57 +02:00
Ilya Kirillov
3838552a75
[analysis api] move some test framework parts to a separate module
2022-04-13 12:52:55 +02:00
Roman Golyshev
32fa2fc476
[FIR] Resolve receiver in qualified expressions with no selector
...
In qualified expression like `foo().`, selector expression is null.
Because of that the whole expression was marked as an error FIR
expression, and `foo()` part was not resolved at all (including
arguments and everything else).
This commit fixes the problem by providing receiver's FIR expression
as an underlying expression for error FIR expression. That way
it will be seen by all resolve transformers and will be successfully
resolved.
^KTIJ-21484 Fixed
2022-04-12 10:55:12 +00:00
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
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