Commit Graph

94778 Commits

Author SHA1 Message Date
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
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