Yan Zhulanow
ee22cc08d1
[LL API] Streamline target declaration processing
2023-08-07 16:22:03 +00:00
Yan Zhulanow
f31ffe4404
[LL API] Avoid unnecessary BODY context collection
2023-08-07 16:22:03 +00:00
Yan Zhulanow
81d829ce3b
[LL API] Collect context for enum entries
2023-08-07 16:22:03 +00:00
Yan Zhulanow
b76a388e35
[LL API] Ignore annotation arguments in 'ContextCollector'
2023-08-07 16:22:03 +00:00
Yan Zhulanow
4fbbe9f274
[LL API] Add in-body modification tests for code fragments
2023-08-07 16:22:03 +00:00
Yan Zhulanow
75868d5f52
[LL API] Preserve the original 'FirCodeFragment' after in-body change
2023-08-07 16:22:03 +00:00
Yan Zhulanow
27a15cd76d
[LL API] Add more flexible 'preferBodyPredicate'
...
The previous API required to pass the exact declaration element to
the 'ContextCollector'. Now it's possible to get a 'BODY' context for
some ancestor element.
2023-08-07 16:22:03 +00:00
Yan Zhulanow
c565b659c2
[LL API] Refactoring, get rid of 'javaClass' usage
2023-08-07 16:22:02 +00:00
Yan Zhulanow
06581cee86
[LL API] Refactoring, make 'timestamp' a member
2023-08-07 16:22:02 +00:00
Yan Zhulanow
a09c2a485e
[LL API] Add basic tests for 'ContextCollector'
2023-08-07 16:22:02 +00:00
Yan Zhulanow
fcefdcc3e9
[LL API] Move PSI element context collection to 'ContextCollector'
...
The new API is going to be reused in 'KtFirScopeProvider'.
2023-08-07 16:22:02 +00:00
Yan Zhulanow
6413294f3f
[Analysis API] Fix module provider for files from dependent sessions
...
Files coming from dependent sessions might be fully virtual, so there
won't be any backing 'VirtualFile'. However, they generally belong to
their original file's module.
2023-08-07 16:22:02 +00:00
Yan Zhulanow
f503d2a3fc
[LL API] Set the resolved status for the foreign BODY_RESOLVE property
2023-08-07 16:22:02 +00:00
Yan Zhulanow
51a4f22830
[LL API] Fix default parameter value processing in 'ContextCollector'
...
Remove the additional 'lazyResolveToPhase()' as there's a need to
analyze to 'BODY_RESOLVE' anyway to collect the 'BODY' context.
2023-08-07 16:22:02 +00:00
Yan Zhulanow
0800acd30e
[LL API] Fix 'BODY' context collection for value parameters
2023-08-07 16:22:02 +00:00
Yan Zhulanow
24a1913559
[LL API] Avoid traversing the same smart cast expression twice
2023-08-07 16:22:02 +00:00
Yan Zhulanow
8440cbf939
[LL API] Make smart cast ordering in 'ContextCollector' predictable
2023-08-07 16:22:02 +00:00
Yan Zhulanow
909a6930e8
[LL API] Avoid processing the 'FirFile' twice on context collection
2023-08-07 16:22:02 +00:00
Yan Zhulanow
9a9b16ed41
[LL API] Do not wrap body or lambdas in 'forFunctionBody()'
...
The function is only intended to be called for 'FirSimpleFunction's.
2023-08-07 16:22:02 +00:00
Yan Zhulanow
9baef497a8
[LL API] Add missing resolution for enum values on context collection
2023-08-07 16:22:02 +00:00
Yan Zhulanow
b1895aacc1
[LL API] Use a common type of 'KtDeclaration' and 'KtCodeFragment'
2023-08-07 16:22:02 +00:00
Yan Zhulanow
a04ad5aa28
[LL API] Refactoring, use the 'iterator {}' utility
2023-08-07 16:22:02 +00:00
Yan Zhulanow
00902fdd9c
[LL API] Make 'FirFile.codeFragment' an LL-internal API
2023-08-07 16:22:02 +00:00
Yan Zhulanow
1a353b544b
[LL API] Remove unnecessary safe type check in 'FirCodeFragment.psi'
2023-08-07 16:22:02 +00:00
Yan Zhulanow
4fa2a24118
[LL API] Refactoring, replace a 'Pair' with a 'ContextKey' data class
2023-08-07 16:22:01 +00:00
Yan Zhulanow
8a5cab6831
[LL API] Support '_DebugLabel's in code fragments
2023-08-07 16:22:01 +00:00
Yan Zhulanow
af51b41a8a
[LL API] Support on-air resolution in 'FirCodeFragment'
2023-08-07 16:22:01 +00:00
Yan Zhulanow
e1db3c88cf
[LL API] Support code fragment compilation
2023-08-07 16:22:01 +00:00
Yan Zhulanow
9446118d7f
[fir2ir] Support code fragment transformation
2023-08-07 16:22:01 +00:00
Yan Zhulanow
02af189066
[LL API] Support code fragment analysis
2023-08-07 16:22:01 +00:00
Yan Zhulanow
3fb038ffd0
[LL API] Add 'ContextCollector'
...
The traditional way to get a 'FirTowerDataContext' in K2 was to
reparse the callable body and pass it through all resolution phases.
It is terribly inefficient and requires a lot of magic.
Currently, 'ContextCollector' is only going to be used to collect
a code fragment context. After proper test coverage and a plenty of
patches it's going to become a generic replacement for read-only
on-air resolution.
2023-08-07 16:22:01 +00:00
Svyatoslav Kuzmich
47ade4530c
[Wasm] Add compiler flag to disable exception handling proposal
...
Fail with unreachable instead of throwing an exception
Merge-request: KT-MR-11481
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com >
2023-08-07 16:19:29 +00:00
Bogdan Mukvich
ec73815f80
Generate SBOM for kotlin gradle plugin and its API
...
^KTI-1129
2023-08-07 15:50:49 +00:00
Aleksei.Cherepanov
7a97a43036
Fix JPS import after bed16f92 (KT-58358)
...
Some native test dependencies were excluded from JPS import of `:kotlin-atomicfu-compiler-pligin`
Merge-request: KT-MR-11477
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com >
2023-08-07 15:06:01 +00:00
Yahor Berdnikau
1b82477ffa
[Gradle] Add multiplatform compiler options DSL integration test
...
^KT-57292 Fixed
2023-08-07 14:09:31 +00:00
Yahor Berdnikau
07593da3f0
[Gradle] Update how JVM toolchain is wired in MPP projects
...
^KT-57292 In Progress
2023-08-07 14:09:31 +00:00
Yahor Berdnikau
bc871c6cfa
[Gradle] Add multiplatform extension compiler options DSL
...
Now the multiplatform extension exposes compiler option DSL for common
compiler arguments. This compiler option synced as a convention for
targets compiler option.
In the case of Kotlin source sets which are not used as defaultSourceSet
in compilations - extension compiler options are synced as convention
into those.
^KT-57292 In Progress
2023-08-07 14:09:31 +00:00
Sebastian Sellmair
41e5a31e1b
[Gradle] ObservableSet: Only add listeners when a new object is indeed added
...
^KT-60937 Verification Pending
2023-08-07 13:40:33 +00:00
Sebastian Sellmair
d2bd749861
[Gradle] Add integration test for associated 'functionalTest' style sources
...
Experiments with the DefaultKotlinCompilationAssociator where made
during KT-60937. One experiment broke running functionalTests in
kotlin.git in bootstrap mode. This case was not yet covered by
CI.
^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Sebastian Sellmair
6c6200a9c5
[Gradle][Minor] Deprecate 'KotlinCompilation.associateWith' property...
...
... in favor of associateCompilations and allAssociateCompilations
^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Sebastian Sellmair
8ce820d944
[Gradle][Minor] KotlinJsIrSourceSetProcessor: Access runtimeDependencyFiles safely
...
As it might happen, that the configure code could be triggered
too early, capturing the state of 'runtimeDependencyFiles' to early as well.
^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Sebastian Sellmair
ba270fc7df
[Gradle][Minor] KotlinCompilationAssociator: Use listProperty util function
...
^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Sebastian Sellmair
d978640c42
[Gradle] Remove KotlinOutputDependency
...
The IdeBinaryDependencyResolver will filter respective
files by using a simpler check: testing if the files
do reside within the build dir of the current project.
^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Igor Chevdar
aa0f0c8cb4
[K/N] Do not use '=' in file names
...
#KT-60986 Fixed
2023-08-07 12:57:17 +00:00
Dmitrii Gridin
1182a156e8
[LL FIR] add debug info to exception
2023-08-07 13:26:39 +02:00
Sergey Bogolepov
8df18c6395
[K/N] Update osVersionMin for arm ios and tvos simulators
...
While it was working before, it is not correct to use OS
version <= 13.0 for these targets, so let's make our code a bit more
robust.
2023-08-07 09:07:31 +00:00
Sergey Bogolepov
7e288483b3
[K/N] Update minimum iOS and tvOS versions
...
The new ld from Xcode 15 incorrectly parses a simulator
target version if it is below the minimum supported version.
It is unclear if this is intentional or not, but we have to play
by Apple's rules. Anyway, 9.0 is quite obsolete, so this change
should be pretty safe.
^KT-60758
2023-08-07 09:07:31 +00:00
Roman Golyshev
d46be70933
KT-60940 [Analysis API] Properly handle vararg types in KtFirReferenceShortener
...
^KT-60940 Fixed
^KTIJ-26518 Fixed
2023-08-07 08:35:49 +00:00
Roman Golyshev
68774609f9
KT-60940 [Analysis API] Small refactoring of KtFirReferenceShortener
...
Instead of unwrapping `partiallyResolvedTypeRef` in `processTypeRef`,
just visit it with the visitor
2023-08-07 08:35:48 +00:00
Nikolay Krasko
a1250e838b
Ignore compose experimental modules during artifacts check
...
The check can be improved in the future, so not only parent directory
is checked.
2023-08-07 08:18:19 +00:00