Commit Graph

94759 Commits

Author SHA1 Message Date
Dmitry Gridin d13f2af6ec [lc] decompiled: make isEquivalentTo lightweight
^KT-53934 Fixed
2022-09-15 09:27:51 +00:00
Shumaf Lovpache 194dae11b9 Fix name for EXPECT_ACTUAL_LINKER key
Fix typo in key name
2022-09-15 11:06:32 +02:00
Mikhail Glukhikh fb9b1ad0dc K1: implement warning for upper bound violated in type alias constructors
Partially implements KT-47473
2022-09-15 08:51:46 +00:00
Mikhail Glukhikh b314672130 Fix typo (FirUpperBoundViolatedExpressionChecker) 2022-09-15 08:51:46 +00:00
Mikhail Glukhikh 8c475750b1 FE: add test for KT-47473 2022-09-15 08:51:45 +00:00
Ilya Gorbunov b53a6beb61 Loosen the signature of declaringJavaClass to accept Enum<E> instead of E
KT-54005
2022-09-14 13:39:25 +00:00
pyos 41299287cf Remove incorrect override in TypeVariableImpl
The correct return type of getAnnotatedBounds is Array<AnnotatedType>.
This fact causes some problems now that kotlin-stdlib is targeting JDK
1.8:

  * the compiler generates a bridge to the incorrect "override" that
    attempts to cast an empty Array<Annotation> into the correct type,
    which fails because those two types are unrelated;

  * on Android, touching this method in any way (via reflection) on
    any API version causes a ClassNotFoundException;

  * tools that validate references in libraries when compiling for
    Android complain about the bridge because they know the returned
    type does not exist.

The easiest solution is to simply remove the override and leave
getAnnotatedBounds unimplemented, making it throw AbstractMethodError
when called. This is the behavior it previously had anyway, as
kotlin-stdlib targeting JDK 1.6 lacked a method with the correct
signature.
2022-09-14 15:00:57 +02:00
Alexander Udalov b158ece232 Tweak module exclusion filter for -Xjvm-default=all
- Remove obsolete exclusion of core & stdlib modules, since they are now
  compiled with JVM target 1.8, but leave `:core:descriptors` because of
  an issue in Proguard.
- Remove binary-compatibility-validator and update test data instead.
- Replace some "contains" checks with equality for clarity.
- Remove modules from -Werror filter which no longer use the deprecated
  compatibility mode.
2022-09-14 14:40:39 +02:00
Mikhael Bogdanov c168a19a58 Build compiler with -Xjvm-default=all + @JvmDefaultCompatibility when needed 2022-09-14 14:40:37 +02:00
Jinseong Jeon 61d339e8f2 SLC: containingFile for all SLC classes, including enum entry 2022-09-14 13:39:31 +02:00
Jinseong Jeon 217829d1c6 AA: fix typo in property name 2022-09-14 13:03:30 +02:00
Ilya Kirillov bfec7e271f [LL API] do not store LLFirSession in RAM for unused modules
^KTIJ-22749
2022-09-14 12:56:03 +02:00
Jinseong Jeon 836b6dae9f AA FIR: constant evaluation for String 2022-09-14 12:52:08 +02:00
Aleksei.Cherepanov 0d1b748cd5 Make exception more user-friendly
Accompany registration of non-compatible compiler plugin with readable error

#KTIJ-21077 Fixed
2022-09-14 10:30:42 +00:00
Mikhail Glukhikh 036f9affd8 K2: link via signatures if -Xlink-via-signatures is set
Related to KT-53505
2022-09-14 10:15:22 +00:00
pyos a0fa2cc275 FIR: regenerate LL API tests 2022-09-14 08:11:05 +00:00
pyos be5c4a91a4 FIR/FE1.0: keep flexibility when approximating local types 2022-09-14 08:11:04 +00:00
pyos adcbc5ec99 FE1.0: keep nullability when approximating local types (in 1.9)
Report an error that inference will change and type has to be provided
manually in other language versions, since the current behavior is an
unsoundness that can cause runtime NPEs while the new behavior may
silently change overload resolution.

^KT-30054 Fixed
2022-09-14 08:11:04 +00:00
pyos 062308c7c1 FIR: keep nullability when approximating local types
^KT-30054 Open
2022-09-14 08:11:04 +00:00
Dmitriy Dolovov e4556ecc0d [IR] User-friendly message about unexpected unlinked symbols
^KT-53649
2022-09-13 17:12:13 +00:00
Ivan Kochurkin 6c4dafc23c Disable IgnoreNullabilityForErasedValueParameters for indefinite time, ^KT-53751 Fixed 2022-09-13 16:45:06 +00:00
Jinseong Jeon a77933ca9a AA: use appropriate type mapping mode in eq checker 2022-09-13 18:00:40 +02:00
Jinseong Jeon 3c74751f73 AA: look up inner class from parent class stub 2022-09-13 18:00:40 +02:00
Abduqodiri Qurbonzoda 0d71143de9 Update @ExperimentalCli documentation with OptIn instead of UseExperimental 2022-09-13 17:19:02 +03:00
Abduqodiri Qurbonzoda 4e1cb12024 Remove deprecated Experimental and UseExperimental annotation classes #KT-53864 2022-09-13 17:19:01 +03:00
Alexander Shabalin e6e7feb985 [K/N] Do not check for external calls in SpinLock<Ignore>
Merge-request: KT-MR-7099
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-09-13 13:37:12 +00:00
Simon Ogorodnik 95c1892ef1 K1. Fix error message for BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION 2022-09-13 13:01:58 +00:00
Andrey Uskov d223dafc45 Don't wrap ProcessCanceledException with other exceptions
ProcessCanceledException indicates that the compilation process was
terminated by user. This kind of exception should not be wrapped anyhow
in order to be handled on toplevel in CLICompiler.
#KT-38483 Fixed
2022-09-13 10:32:49 +00:00
Mikhail Glukhikh 5fcb18ac2b Revert "[FE 1.0] Resolve this and super calls through the new type inference infra"
This reverts commit bab8047bb3.
2022-09-13 09:09:01 +00:00
Mikhail Glukhikh f35cebbc25 Revert "[FE 1.0] Resolve special construct calls through the new type inference infra"
This reverts commit e66cc9a639.
2022-09-13 09:09:01 +00:00
Mikhail Glukhikh fc0058d471 Revert "[FE 1.0] Resolve constructor calls through the new type inference infra"
This reverts commit 0070c234ce.
2022-09-13 09:09:00 +00:00
Mikhail Glukhikh c699896b0f Revert "[FE 1.0] Resolve collection literals through the new type inference infra"
This reverts commit a542de715a.
2022-09-13 09:09:00 +00:00
Mikhail Glukhikh 707bfbed19 Revert "[FE 1.0] Resolve equal calls through the new type inference infra"
This reverts commit a74c221729.
2022-09-13 09:09:00 +00:00
Mikhail Glukhikh a9b8f6715b Revert "[FE 1.0] Resolve setters through the new type inference infra"
This reverts commit 6e191147b9.
2022-09-13 09:09:00 +00:00
Mikhail Glukhikh 8be08d903b Revert "K1: don't report UNRESOLVED_WITH_TARGET on hidden setters"
This reverts commit e20efc1398.
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh f4e6c1c9c5 Revert "K1: cleanup new inference constructor resolve in CallResolverUtil"
This reverts commit ec055eb418.
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh 41abe7b8f7 Revert "K1: unify code around resolveCallWithGivenDescriptors"
This reverts commit 0bd06b4095.
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh 60cee9f1b7 Revert "[FE 1.0] Get rid of old inference stuff from CallResolver"
This reverts commit bd665dc5d9.
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh 569d6d28b7 Revert "[FE 1.0] Get rid of the old builder inference support"
This reverts commit 1c91e3a606.
2022-09-13 09:08:58 +00:00
Mikhail Glukhikh 087bda52e6 Revert "[FE 1.0] Get rid of the old inference call completer"
This reverts commit 2c7a442cbd.
2022-09-13 09:08:58 +00:00
Mikhail Glukhikh ee58de0680 Revert "[FE 1.0] Get rid of deprecated interceptCandidates in CallResolutionInterceptorExtension"
This reverts commit afaf20aea3.
2022-09-13 09:08:58 +00:00
Mikhail Glukhikh 2ac25cfa8e Revert "[FE 1.0] Get rid of CandidateResolver"
This reverts commit 4ea08a59db.
2022-09-13 09:08:58 +00:00
Mikhail Glukhikh f35ced3666 Revert "[FE 1.0] Get rid of GenericCandidateResolver"
This reverts commit 941a33a184.
2022-09-13 09:08:57 +00:00
Mikhail Glukhikh 2d17864fcb Revert "[FE 1.0] Get rid of OldResolutionCandidate and its usages"
This reverts commit d89fa8dea9.
2022-09-13 09:08:57 +00:00
Mikhail Glukhikh b12dffa593 Revert "[FE 1.0] Get rid of NewResolutionOldInference"
This reverts commit 34a05105ef.
2022-09-13 09:08:57 +00:00
Mikhail Glukhikh e36091b926 K2: introduce even more readable renderer for types in messages
#KT-53343 Fixed
2022-09-13 09:05:48 +00:00
Mikhail Glukhikh 3848be596e Add test for KT-53343 2022-09-13 09:05:48 +00:00
pyos acce055fc4 FIR: fix incorrect handling of suspend function typealiases again
The previous attempt stopped this code from throwing an exception during
serialization, but the arity is still wrong so an exception is now throw
when reading the serialized type.

^KT-50997 Fixed
2022-09-12 17:45:40 +02:00
Mikhail Glukhikh 3a60e2cde5 K1: add link to the issue (KT-48162) for deprecation message 2022-09-12 17:45:34 +02:00
Alexander Likhachev 2b26d1cc02 [Gradle, JS] Disable KotlinJsDce caching when it's in dev mode
#KT-53788 Fixed
2022-09-12 14:55:19 +00:00