Commit Graph

94208 Commits

Author SHA1 Message Date
Ilya Kirillov cd063d0cd0 [LL FIR] update phase of value parameters on lazy resolve
Previously, such phases may not be properly set which could cause additional lazy resolve
2022-08-10 22:49:13 +02:00
Ilya Kirillov 56e6d5d6b9 [Analysis API] do not preresolve all FirDeclarations to TYPES in tests
Previously, we resolved all declaration to the TYPES phase to collect their sealed inheritors
and thus not really checking lazy resolution to TYPES.
Now sealed class inheritors collection happens in separate LLFirResolveSession
2022-08-10 22:49:13 +02:00
Ilya Kirillov f39f1da70d [Analysis API FE10] fix suspend function type mapping 2022-08-10 22:49:12 +02:00
Ilya Kirillov 4d5f1dc1bb [FIR] do not fail when Continuation classes not found in classpath 2022-08-10 22:49:12 +02:00
Ilya Kirillov 8856977c78 [Symbol LC] add test for declaration parents 2022-08-10 22:49:12 +02:00
Ilya Kirillov ebc68dc54c [Analysis API] actualize testdata 2022-08-10 20:37:15 +02:00
Jaebaek Seo 50c293f83f Fix array access expression getKtType() bug
For an array access expression e.g., `foo[3]`,
KtFirExpressionTypeProvider first tries
`getReturnTypeForArrayStyleAssignmentTarget(..)` method that determines
the type of the array access expression when it is in the form of "set"
the value. However, the method also returns a non-null result for an
array access expression that reads its value i.e., "get". In this case,
the result of `getKtType()` becomes wrong. This commit lets the method
return a null for the type of "get" array access expression.
2022-08-10 17:34:49 +02:00
Jinseong Jeon b173b1fe24 AA: use package part info (if available) when searching for PSI from binary module 2022-08-10 17:34:48 +02:00
Jinseong Jeon d0a8eb5c54 AA FIR: use resolved annotation argument mapping 2022-08-10 17:34:48 +02:00
Jinseong Jeon 56a5d883c0 AA FIR: handle (aliased)? annotation w/ vararg parameter 2022-08-10 17:34:48 +02:00
Ilya Goncharov 032153c673 [Gradle, JS] Remove fail after build option
^KT-53381 fixed
2022-08-10 14:47:29 +00:00
Dmitriy Novozhilov f5634ef7db Advance bootstrap to 1.8.0-dev-1593 2022-08-10 10:28:12 +00:00
Pavel Kunyavskiy a082aeb29e [K/N] Make atomic ordering weaker for less performance harm 2022-08-10 08:36:08 +00:00
Pavel Kunyavskiy 18cda8844d [K/N] Fix possible data races found by thread sanitizer 2022-08-10 08:36:07 +00:00
Pavel Kunyavskiy 828811a47f [K/N] Support running with thread sanitizer in test infra 2022-08-10 08:36:05 +00:00
Dmitry Gridin 434872c5a9 [slc] mark SymbolFakeFile as internal
^KT-50241
2022-08-09 21:08:43 +02:00
Vsevolod Tolstopyatov fdd541c1e9 Introduce runtime ClassValue-based cache for typeOf machinery
* Cache KType instances constructor from the given classifier
* For generics, cache KTypes with already substituted arguments
* It significantly speeds up all typeOf-based APIs, both accesses to typeOf and its related properties (i.e. classifier)

#KT-53508

Merge-request: KT-MR-6818
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2022-08-09 18:40:32 +00:00
Vladimir Sukharev c84a70c654 Always inline primitive unbox functions in IR level
Merge-request: KT-MR-6708
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-08-09 18:07:02 +00:00
Igor Chevdar d0fb997967 [K/N][IR] Moved enum factory to proper place and renamed file 2022-08-09 17:58:54 +00:00
Igor Chevdar e6e04e66b9 [K/N][IR] Refactored enum builder 2022-08-09 17:58:53 +00:00
Igor Chevdar 60ea26750e [K/N][IR] Refactored inline function bodies resolving 2022-08-09 17:58:52 +00:00
Igor Chevdar f7d389c9da [K/N][IR] Refactored bridges building 2022-08-09 17:58:52 +00:00
Igor Chevdar 9f26f8f227 [K/N][IR] Refactored outer this field creation 2022-08-09 17:58:51 +00:00
Artem Kobzar 87038e7d8a [K/JS] feat: add logic under the flag for strict implicit export generating inside d.ts files. 2022-08-09 16:48:59 +00:00
sebastian.sellmair 8fcbe9902c [Gradle][KT-51583] Ensure jvm-ecosystem plugin is applied when NativeDistributionCommonizerTask is registered in root
^KT-51583 Verification Pending

https://github.com/gradle/gradle/issues/20145
2022-08-09 15:12:46 +00:00
sebastian.sellmair f713782737 [Gradle][KT-51583][Minor] add 'projectBuilder' block to buildProject functions 2022-08-09 15:12:45 +00:00
Vladimir Sukharev 8acf04cf23 Put noinline LLVM attribute to main function
Merge-request: KT-MR-6830
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-08-09 14:08:48 +00:00
Dmitriy Dolovov b507975812 [Native][tests] Make InfrastructureDumpedTestListingTest to be line ending tolerant 2022-08-09 12:32:22 +00:00
Vladimir Sukharev b8e1c14b8e Improve benchmarking docs
Merge-request: KT-MR-6808
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-08-09 10:30:38 +00:00
Dmitry Gridin 74ad591dcb [slc] rename fir to symbol
^KT-50241
2022-08-09 12:09:00 +02:00
Dmitry Gridin c0d6a64a8a [slc] rename fir to symbol
^KT-50241
2022-08-08 19:08:46 +00:00
sebastian.sellmair 97ecf43b77 [Gradle][KT-53342] MultiplatformLayoutV1PromoteV2Checker: Show only single warning per build 2022-08-08 19:04:32 +00:00
sebastian.sellmair 9b8fbea0dc [Gradle][KT-53342] KotlinAndroidSourceSetNaming: Merge kotlinSourceSetName overloads 2022-08-08 19:04:31 +00:00
sebastian.sellmair c8e2888db9 [Gradle][KT-53342] KotlinAndroidSourceSetFactory: Improve error messages 2022-08-08 19:04:30 +00:00
sebastian.sellmair f1a54dfeba [Gradle][KT-53342] M/A SSLv2: Only change Manifest location when it was not previously changed 2022-08-08 19:04:30 +00:00
sebastian.sellmair 60c90d6065 [Gradle][KT-53342] KotlinAndroidSourceSets: Extract KotlinAndroidSourceSetFactory 2022-08-08 19:04:29 +00:00
sebastian.sellmair 6a13c2797b [Gradle][KT-53342] KotlinAndroidSourceSetLayoutCheckers to provide migration from V1 -> V2 2022-08-08 19:04:28 +00:00
sebastian.sellmair 82d92a4e82 [Gradle][KT-53342] Implement MultiplatformAndroidSourceSetLayoutV2IT 2022-08-08 19:04:28 +00:00
sebastian.sellmair 3b19cf5831 [Gradle][KT-53342] Introduce 'invokeWhenCreated' API to configure objects when created
This aims to make it possible and sane to configure
Android SourceSets that get created in AGP's afterEvaluate phase.

SourceSets that contain flavor and buildTypes will not be available
right away. Using regular Gradle APIs like

```
sourceSets.matching { it.name == "..." }.configure {}
```

are not sufficient, since misconfigurations here will stay
unnoticed, whilst this 'invokeWhenCreated' API ensures
that the object is available at least before the buildscripts
'afterEvluate'
2022-08-08 19:04:27 +00:00
sebastian.sellmair 9634e64322 [Minor] Move 'buildProject' functions to o.j.k.g and call source file 'buildProject.kt' 2022-08-08 19:04:26 +00:00
sebastian.sellmair e1e0b76376 [Minor] Add defaults to buildProject functions 2022-08-08 19:04:25 +00:00
sebastian.sellmair 03dab74d47 [Gradle][KT-53342] AndroidCompilationDetails/MultiplatformAndroidSourceSetLayoutV2: Select proper defaultSourceSetName 2022-08-08 19:04:25 +00:00
sebastian.sellmair f68c05c1fb [Gradle][KT-53342] Implement MultiplatformAndroidSourceSetLayoutV2Test 2022-08-08 19:04:24 +00:00
sebastian.sellmair e307b96671 [Gradle][KT-53342] Implement simple SingleTargetAndroidSourceSetLayoutTest 2022-08-08 19:04:23 +00:00
sebastian.sellmair f45a073dc0 [Gradle][KT-53342] Run functionalTests w/ AGP 7.2.1 and Java 11 2022-08-08 19:04:23 +00:00
sebastian.sellmair 28f293e0ce [Gradle][KT-53342] Implement KotlinAndroidSourceSetLayoutExtensionTest 2022-08-08 19:04:22 +00:00
sebastian.sellmair fe5a4bb12a [Gradle][KT-53342] Implement Multiplatform/Android V2 source set layout
^KT-53342 Verification Pending
2022-08-08 19:04:21 +00:00
sebastian.sellmair 38ada5c9fc [Gradle][KT-53342] KotlinAndroidTarget: Let disambiguationClassifier be final 2022-08-08 19:04:20 +00:00
sebastian.sellmair 194fff11bd [Gradle][KT-53342] Merge Android25ProjectHandler and AbstractAndroidProjectHandler
Since there was just a single implementation of AbstractAndroidProjectHandler,
merging those classes makes it easier to remove dead code and
maintain the implementation.
2022-08-08 19:04:20 +00:00
sebastian.sellmair b6ee6d536c [Minor] Move WhenEvaluatedAndroidOrderingTest into o.j.k.gradle 2022-08-08 19:04:19 +00:00