Commit Graph

40831 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 3a51a8a655 [AA LC] Fix computing visibility for classes 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov ab2aa3117b [AA LC] Add @java.lang.Override on override functions 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov 258e3f9225 [AA LC] Fix visibility of fields for const vals 2022-09-15 17:27:20 +03:00
Dmitriy Novozhilov 1ff51356b9 [AA LC] Fix visibility of fields from companion objects
^KTIJ-22541
2022-09-15 17:27:20 +03:00
Dmitriy Novozhilov c34f952126 [Test] Render annotations on enum entries in PSI class renderer 2022-09-15 17:27:20 +03:00
Dmitriy Novozhilov 7ef81c27df [AA] Make KotlinReferenceProvidersService and KotlinReferenceProviderContributor a project services
There is no need to have those services on application level
2022-09-15 17:27:20 +03:00
Aleksei.Cherepanov 782dc55800 Make exception more user-friendly (2)
Add stacktrace and given error to error message

#KTIJ-21077 Fixed


Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com>

Merge-request: KT-MR-7122
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com>
2022-09-15 13:33:11 +00:00
Alexander Korepanov 09add47777 [JS IR] Trigger klib rebuild after removing a dependency
^KT-50503 Fixed
2022-09-15 10:56:41 +00:00
Vladimir Dolzhenko 298494fa08 Drop KtStubElementTypes.FILE
FILE elements are always registered eagerly on parser definition load
and should not be mentioned in stubElementTypeHolder interfaces.
KtFileElementType.INSTANCE was defined in 2 places, first as
getFileNodeType of KotlinParserDefinition and second is
KtStubElementTypes. In order to ensure that there are no conflicts
in stubs the platform needs to recheck these 2 declarations,
and it triggers loading of KtStubElementTypes fields. We do not need
to declare FILE element in KtStubElementTypes and may just remove this
declaration as excessive. This will delay init of KtStubElementTypes
to the moment when Kotlin files appear in indexes.

#KT-53781
2022-09-15 10:35:05 +00:00
Vladimir Dolzhenko 584eb9dfa9 Move TokenSet from KtStubElementTypes
KtStubElementTypes has to have only KtStubElementType fields to provide
ability to initialize stub element types lazily.

#KT-53781
2022-09-15 10:35:04 +00:00
Pavel Mikhailovskii f643cdf90b Target KT-4107 (data objects) to Kotlin 1.9 2022-09-15 12:23:40 +02: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
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
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
Abduqodiri Qurbonzoda 4e1cb12024 Remove deprecated Experimental and UseExperimental annotation classes #KT-53864 2022-09-13 17:19:01 +03: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
Pavel Mikhailovskii fe5a6fd511 Disallow non-local break/continue in crossinline lambdas 2022-09-12 13:26:19 +00:00