Commit Graph

93887 Commits

Author SHA1 Message Date
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
Sergey Bogolepov 30f1af7ce0 [K/N] Move isFinalBinary and involvesLinkStage checks to KonanConfig
It allows to make more precise checks by accessing KonanConfig
properties.
2022-07-22 11:57:13 +00:00
Sergey Bogolepov ebe292ffe9 [K/N] Simplify phases configuration
Group simultaneously disabled phases into single `if` to improve
readability and avoid repetition.
2022-07-22 11:57:12 +00:00
Sergey Bogolepov 88eee13837 [K/N] Destroy symbol table when producing metadata library.
Probably it wasn't destroyed by mistake.
2022-07-22 11:57:12 +00:00
Sergey Bogolepov 7055893605 [K/N] Move framework interface generation to "Produce Output" phase
It allows to invoke interface generation even if we don't compile a
binary.
2022-07-22 11:57:11 +00:00
Mikhail Glukhikh 78da5907c8 K2 checkers: separate report committer from other diagnostic components 2022-07-22 11:35:28 +00:00
Mikhail Glukhikh eba0e94429 K2: get rid of manual diagnostic suppression in checkers 2022-07-22 11:35:28 +00:00
Mikhail Glukhikh 07f16ef378 K2 LL API: implement automatic diagnostic suppression 2022-07-22 11:35:27 +00:00
Mikhail Glukhikh 9add6f3d55 K2: add more accurate & more automatic control of diagnostic suppression
#KT-51363 Fixed
2022-07-22 11:35:26 +00:00
Mikhail Glukhikh 179b267d9f K2: add test with some samples of diagnostic suppression 2022-07-22 11:35:25 +00:00
Ilya Goncharov 4284f6b573 [Gradle, JS] make state in KotlinRootNpmResolverStateHolder public 2022-07-22 07:00:37 +00:00
Ilya Kirillov 6759263ae9 [Analysis API FIR] fix getClassOrObjectSymbol for classes actualized by typealias 2022-07-22 00:59:01 +02:00
Ilya Kirillov 10dea730b3 [Analysis API] fix invalid KtAnalysisScopeProvider. analysisScope 2022-07-22 00:59:00 +02:00
Ilya Kirillov 18b6a8b6a1 [Analysis API] make KtFunctionLikeSymbol to be sealed class 2022-07-22 00:59:00 +02:00