Commit Graph

94797 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 7e24ddeb40 [AA LC] Properly compute retention for @java.lang.annotation.Retention 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov 77546e5e06 [AA LC] Compute nullability annotation for parameter for extension receiver 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov c67ded2d3b [AA LC] Properly set type mapping mode for bounds of type parameters 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov a3884e35e2 [AA LC] Fix type parameters for getters of generic extension properties 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov 3b87a9f354 [AA LC] Map kotlin collections to java in bounds of type parameters 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov e6092e2dff [AA LC] Generate nullability annotations for properties in enums 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov b7712a35f0 [AA LC] Generate backing field for inline classes 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov 8e80c5830e [AA LC] Fix annotations on fields for enum entries 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov a88fdd5eb7 [AA LC] Implement default values for methods of annotations 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov 3a51a8a655 [AA LC] Fix computing visibility for classes 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov 1fd2816755 [AA LC Test] Cleanup resulting java dump
- Remove redundant spaces
- Add empty line at the end
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 d60f3980b1 [AA LC] Correctly determine override status for accessor methods 2022-09-15 17:27:20 +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
Dmitriy Novozhilov 0909cad886 Reformat FirAnnotationValueConverter.kt 2022-09-15 17:27:20 +03:00
Dmitriy Novozhilov 669e7e071c [AA] Register library and builtins session factories in Standalone AA Builder 2022-09-15 17:27:19 +03:00
Dmitriy Novozhilov efc443e7ef [NoArg] Add test for KT-53122 2022-09-15 17:27:19 +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 752ce887b2 [JS IR] Add IC test for JsModule annptation
^KT-43455
2022-09-15 11:02:46 +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
Jinseong Jeon 1464f33c5d AA FIR: error annotation value for erroneous argument in class reference 2022-09-15 12:36:31 +02: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
Ilya Kirillov 447404f955 [Analysis API FIR] reformat KtFirSymbolProvider.kt 2022-09-15 12:12:41 +02:00
Ilya Kirillov 7d47651353 [Analysis API] rename KtAnnotationsList.containsAnnotation -> hasAnnotation 2022-09-15 12:12:40 +02:00
Ilya Kirillov 1bdde25dc7 [Analysis API] improve getClassOrObjectSymbolByClassId/getTopLevelCallableSymbols
add kdocs, use better names
2022-09-15 12:12:40 +02:00
Svyatoslav Scherbina 1b17dbff09 Native: compile runtime/src/cpp/math code only for wasm32 2022-09-15 09:32:32 +00:00
Dmitry Gridin 7013fa1864 [lc] decompiled: support stub search for top level callable
^KT-53934
2022-09-15 09:27:53 +00:00
Dmitry Gridin 9eb2672282 [lc] decompiled: improve stub search for fields
^KT-53934
2022-09-15 09:27:53 +00:00
Dmitry Gridin 438faf478b [lc] decompiled: extract common part to KotlinDeclarationInCompiledFileSearcher
^KT-53934
2022-09-15 09:27:53 +00:00
Dmitry Gridin 0f4f933835 [lc] decompiled: fix navigation to primary constructor
^KT-53934
^KTIJ-22755
2022-09-15 09:27:52 +00:00
Dmitry Gridin b05eb62d9d [lc] decompiled: support stub search for properties
^KT-53934
2022-09-15 09:27:52 +00:00
Dmitry Gridin 7ec55f885d [lc] decompiled: fix and add new heuristics for stub-only search
support members and constructors

^KT-53934
2022-09-15 09:27:52 +00:00
Dmitry Gridin 5f2098d572 [lc] decompiled: LightMemberOriginForCompiledElement: cleanup code
^KT-53934
2022-09-15 09:27:52 +00:00
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