Commit Graph

93900 Commits

Author SHA1 Message Date
Sergej Jaskiewicz dbcffeb0ed [JS] Fix a compiler crash when generating sourcemaps
It is possible that the source info has the type `KtPureElement`.
For example, the serialization plugin may create a synthetic companion
object for a `@Serializable`-annotated class.
This results in an instance of
the `SyntheticClassOrObjectDescriptor.SyntheticDeclaration` class being
indirectly set as source info. This class implements the `KtPureElement`
interface.
2022-07-25 19:27:59 +00:00
aSemy d35656cb9f KT-52647 remove "projects must be configuring" check 2022-07-25 17:09:48 +00:00
Sergey Bogolepov 89d3b9819b [K/N] Mute test parts that cause KT-53317 2022-07-25 16:28:49 +00:00
Denis.Zharkov 7d6e133c0d Refine warning messages for KT-36770
^KT-36770 Fixed
2022-07-25 16:08:49 +00:00
Denis.Zharkov 7f7e5c5975 FIR: Fix candidate receivers orders when choosing a context receiver
^KT-53257 Fixed
2022-07-25 15:11:29 +00:00
Sergej Jaskiewicz 8299cec66b [JS] Upgrade YARN_LOCK_MISMATCH_MESSAGE
The task was renamed, let's use its new name in the error message
as well.
2022-07-25 08:19:45 +00:00
sebastian.sellmair 90a2141f1c [Gradle][MPP] KMP <-> AGP compatibility check: Weaken warning when AGP is too high
^KT-53138 Verification Pending
2022-07-25 08:07:14 +00:00
sebastian.sellmair 2143180b40 [Gradle][MPP] KMP <-> AGP compatibility check: Restrict AGP minor version
^KT-53138 Verification Pending
2022-07-25 08:07:13 +00:00
sebastian.sellmair 1b0b09dd83 [Gradle][MPP] Implement KMP <-> AGP compatibility check
^KT-53138 Verification Pending
2022-07-25 08:07:12 +00:00
Yan Zhulanow 0c001cc993 Fix unstable reference provider ordering in IDE's KtIdeReferenceProviderService
As a result of unstable reference provider ordering, order of references in 'PsiElements' vary each IDE restart.
It directly affects the 'getReference()' method which returns the first available reference.
2022-07-25 07:35:39 +00:00
Ilya Kirillov 74273c6273 [Analysis API FIR] do not check for write access on inside ShortenCommandImpl as it breaks intention preview in IDE 2022-07-24 18:59:03 +02:00
Ilya Kirillov 91cf194a94 [LL FIR] incrementally update module caches 2022-07-24 15:37:44 +02:00
Ivan Kylchik b9e2173288 Rewrite interpretation of enum entries to avoid IR data corruption
There was a bug here if during enum creation there will be an
exception. Then function `cleanEnumSuperCall` will never be called
and ir will be corrupted.
2022-07-23 18:32:53 +00:00
Ivan Kylchik 008a5f02e5 Make enum entries to be interpreted in right order
#KT-53727 Fixed
2022-07-23 18:32:52 +00:00
Ilya Kirillov 76f1744868 [Analysis API FIR] add more info to some exceptions 2022-07-23 19:54:47 +02:00
Rick Clephas 5a5e6ad8cd [K/N] Add ObjCName annotation (#4815) 2022-07-23 18:58:06 +02:00
Ilya Kirillov edf9e05b13 Distinguish cause attachments from exception attachments in KotlinExceptionWithAttachments 2022-07-23 17:08:22 +02:00
Ilya Kirillov 6f0769ea68 [LL FIR] add detailed exception info to lazy resolve 2022-07-23 17:08:22 +02:00
Ilya Kirillov e462016151 [LL FIR] remove abstract class LLFirModuleData with only inheritor 2022-07-23 17:08:22 +02:00
Ilya Kirillov 827c262f68 [Analysis API FIR, LL FIR] use exceptionWithAttachment to not leak user data 2022-07-23 17:08:22 +02:00
Ilya Kirillov b701c1c6f6 [LL FIR] fix top-level callables classpath conflicts checks for single-file facades 2022-07-23 17:08:22 +02:00
Alexander Udalov 584b70719e JVM IR: disable SAM conversion in case type has 'in' projection
... and the corresponding type parameter has a non-trivial (i.e.
non-`Any?`) upper bound.

The best solution here would be to get rid of
`removeExternalProjections` completely, and just use the type of the
argument at the call site, but see KT-52428.

 #KT-51868 Fixed
2022-07-23 01:10:53 +02:00
Ilya Kirillov 62c12864f3 [Symbol LC] do not fail in LC on enum subtyping check 2022-07-22 23:13:23 +02:00
Ilya Kirillov 71dd066288 [Analysis API] do not consider recursive module dependencies as scope 2022-07-22 22:53:37 +02:00
Ilya Kirillov c7a49b5ed1 [Analysis API FIR] do not fail on ConeTypeVariableType 2022-07-22 22:53:11 +02:00
Ilya Kirillov 2ffa03e831 [Analysis API FIR] fix expanding of anonymous objects in getClassOrObjectSymbol 2022-07-22 22:14:52 +02:00
Igor Chevdar 652f6923b3 [K/N][runtime][codegen] Fixed a problem with synchronization
During globals initialization proper synchronization is required for ARM cpus

 #KT-53243 Fixed
2022-07-22 16:53:07 +00:00
Denis.Zharkov a3b33901d8 Add issue link to deprecation warning message for KT-36770
^KT-36770 Fixed
2022-07-22 16:42:13 +00:00
Mikhail Glukhikh 3ae75a5094 FIR2IR: generate annotations on fake override parameters #KT-53208 Fixed 2022-07-22 16:39:52 +00:00
Mikhail Glukhikh 5445f4043a K2: expand types during smartcasting to prevent redundant intersections
#KT-53184 Fixed
2022-07-22 16:39:52 +00:00
Mikhail Glukhikh bc396b9765 K2: don't report RETURN_TYPE_MISMATCH on last statement returns
#KT-53198 Fixed
2022-07-22 16:39:51 +00:00
Alexander Korepanov 0982872959 [JS IR] Fix clash between generic extension overloads
Type parameter constraints are used for calculating JS signature hash.

^KT-51151 Fixed
2022-07-22 16:14:51 +00:00
Pavel Kunyavskiy 9f5cbea0fa [K/N] Disable runtimeAssertions with cache in old test infra 2022-07-22 16:07:52 +00:00
Mikhail Glukhikh 0bd06b4095 K1: unify code around resolveCallWithGivenDescriptors 2022-07-22 16:03:54 +00:00
Mikhail Glukhikh ec055eb418 K1: cleanup new inference constructor resolve in CallResolverUtil 2022-07-22 16:03:54 +00:00
Mikhail Glukhikh e20efc1398 K1: don't report UNRESOLVED_WITH_TARGET on hidden setters 2022-07-22 16:03:53 +00:00
Victor Petukhov 00d1e46c5a [FE 1.0] Don't throw exception during substitution of accessors, just return original 2022-07-22 16:03:53 +00:00
Victor Petukhov db54d18c72 [FE 1.0] Add fallback for extracting when call 2022-07-22 16:03:52 +00:00
Victor Petukhov 42e71f8c53 Remove explicit enabling the new type inference from test data 2022-07-22 16:03:52 +00:00
Victor Petukhov 224beb24eb Remove explicit disabling the new type inference from test data 2022-07-22 16:03:51 +00:00
Victor Petukhov c0ae68fe93 [FE 1.0] Remove type predicate calculation from CFG tests
That logic is hard to support because it used deprecated `OldResolutionCandidate` and `ResolvedCallImpl`. Moreover FIR has own CFG utils.
2022-07-22 16:03:51 +00:00
Victor Petukhov 5f5c3aa534 [FE 1.0] Clean-up pseudocodeUtils.kt: remove unused methods, move test specific methods into test-common module 2022-07-22 16:03:50 +00:00
Victor Petukhov 6e191147b9 [FE 1.0] Resolve setters through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:50 +00:00
Victor Petukhov a74c221729 [FE 1.0] Resolve equal calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov a542de715a [FE 1.0] Resolve collection literals through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov 0070c234ce [FE 1.0] Resolve constructor calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov e66cc9a639 [FE 1.0] Resolve special construct calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:48 +00:00
Victor Petukhov bab8047bb3 [FE 1.0] Resolve this and super calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:48 +00:00
Yahor Berdnikau 3c0c477f06 Enable filesystem watching by default in Gradle tests
This should reduce flakiness on CI.
2022-07-22 12:02:43 +00:00
Sergey Bogolepov cd54afea8f [K/N] Add option to omit generation of binary when producing framework
`-Xomit-framework-binary` is useful when the user does not care about
generated machine code, but only about its public interface.
Current use-case is for development purposes only: to iterate faster
on ObjCExport. But potentially it can be turned into user-facing feature
2022-07-22 11:57:15 +00:00