Commit Graph

94238 Commits

Author SHA1 Message Date
Hung Nguyen 2ad047340f New IC: Add constants-in-companion-objects impact computation
When computing impacted symbols of changed symbols, previously we
considered only the supertypes-inheritors type of impact, which is the
most common type. This commit adds the constants-in-companion-objects
type of impact to address KT-53266.

We've also cleaned up impact computation to make it easier to add new
types of impact in the future.

^KT-53266 In progress
2022-08-11 16:01:25 +02:00
Hung Nguyen 3f0a93d6dd New IC: Reorganize test data directories
to make it easier to add new tests

^KT-53266 In progress
2022-08-11 16:01:24 +02:00
Dmitriy Novozhilov fd4aafdb75 [Lombok K2] Support @Builder and @Singular annotations
^KT-46959 Fixed
2022-08-11 15:22:36 +03:00
Dmitriy Novozhilov 1f2f6f4067 Reformat treeBasedTypes.kt 2022-08-11 15:22:35 +03:00
Dmitriy Novozhilov b32f9dcac2 [Lombok K1] Support @Singular annotation
^KT-46959
2022-08-11 15:22:35 +03:00
Dmitriy Novozhilov b311f0b862 [Lombok K1] Support @Builder annotation
^KT-46959
2022-08-11 15:22:35 +03:00
Dmitriy Novozhilov 6fde784b55 [FE 1.0] Allow generation of nested classes for java classes from plugins 2022-08-11 15:22:35 +03:00
Ilya Gorbunov 5adfbfc73f Temporarily disable testng docs linking
Until https://github.com/cbeust/testng/issues/2789 is fixed
2022-08-11 10:42:27 +00:00
Pavel Mikhailovskii 8ba80b4b7b KT-1436 Allow break/continue in inlined lambdas 2022-08-11 10:38:23 +00:00
Dmitriy Novozhilov ba7df005a1 [Build] Fix JPS import 2022-08-11 11:55:15 +03:00
Vladimir Sukharev 9f2cdb0130 Fix basic blocks order for WHEN expression
Merge-request: KT-MR-6833
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-08-11 08:27:06 +00:00
pyos 4aad666d3c JVM: do not assume presence of default method handle arguments (#4915)
I believe Jetpack Compose is not generating them, and that's what's
causing KT-52843. Adding them is obviously an ABI-breaking change.
2022-08-11 00:37:00 +02:00
Ilya Kirillov 531236ce16 [FIR] generate testdata for RawFirBuilderLazyBodiesTestCase for newly added tests 2022-08-10 22:49:23 +02:00
Ilya Kirillov 1c28eef82a [LL FIR] rename FirLazyDeclarationResolver -> LLFirModuleLazyDeclarationResolver
to avoid naming collisions with LLFirLazyDeclarationResolver
2022-08-10 22:49:19 +02:00
Ilya Kirillov da9cf1468c [FIR] add KDoc to lazy resolution functions 2022-08-10 22:49:19 +02:00
Ilya Kirillov 0748f28efe [FIR] rename ensureResolve -> lazyResolveToPhase as it better describes function semantics 2022-08-10 22:49:18 +02:00
Ilya Kirillov e7e9c24473 [LL FIR] update lazy resolve testdata after changes in phases 2022-08-10 22:49:18 +02:00
Ilya Kirillov 230c21f502 [LL FIR] fix not-resolved getter return type in on-air resolve 2022-08-10 22:49:18 +02:00
Ilya Kirillov 9f1ecdfaa1 [LL FIR] add lazy resolve check to ensure that all nested declarations are resolved
This bow includes: value parameters, property accessors and class members;
before, only class members was checked
2022-08-10 22:49:17 +02:00
Ilya Kirillov 75787be2f8 [Analysis] change null element rendering in exceptions to distinguish will "null" strings 2022-08-10 22:49:17 +02:00
Ilya Kirillov 28b159ef85 [LL FIR] fix lazy resolve of accessors with implicit types
Before the change, such accessors would have implicit types event if the corresponding property had a resolved one
2022-08-10 22:49:17 +02:00
Ilya Kirillov 97853016d5 [LL FIR] fix lazy resolve of accessors generated by delegation
Before the change, such accessors would have implicit types event if the corresponding property had a resolved one
2022-08-10 22:49:16 +02:00
Ilya Kirillov e12a800b2d [LL FIR] fix lazy resolve of FirDefaultPropertyAccessor
FirDefaultPropertyAccessor was hardcoded and thus lazy resolution was not able to update it after resolution
2022-08-10 22:49:16 +02:00
Ilya Kirillov 107a8e4d92 [FIR] create error type ref for parameter when one is required instead of implicit type in RawFirBuilder
Needed to avoid failure during lazy resolving of corresponding declarations in the IDE

^KTIJ-22357 fixed
2022-08-10 22:49:16 +02:00
Ilya Kirillov b27115c793 [LL FIR] rename ensurePhase -> checkPhase to distinguish with ensureResolved 2022-08-10 22:49:15 +02:00
Ilya Kirillov 88c68be12d [Analysis API FIR] add additional information to exceptions from call resolution 2022-08-10 22:49:15 +02:00
Ilya Kirillov f45f1ba3dc [Analysis API] do not create multiple attachments inside exceptions 2022-08-10 22:49:14 +02:00
Ilya Kirillov ddbd89aea7 Simplify copying attachment in KotlinExceptionWithAttachments 2022-08-10 22:49:14 +02:00
Ilya Kirillov 72da40f97c [LL FIR] update phase of type parameters on lazy resolve 2022-08-10 22:49:14 +02:00
Ilya Kirillov 0f6f901179 [LL FIR] render type parameters resolve phase in tests 2022-08-10 22:49:13 +02:00
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