Commit Graph

95470 Commits

Author SHA1 Message Date
Leonid Startsev f1b1837f40 Rework SerialInfo$Impl annotation implementation to be available in FIR:
- IR plugin does not use it anymore,
regular annotation instantiation feature is used
(insertion of IrConstructorCall(annotationCtorSymbol)).

- IR plugin still generates `SerialInfo$Impl` class to be compatible
with previously compiled code & libraries.

- Custom implementation over descriptors in IR plugin is removed;
plugin now delegates to the existing lowering with some tweaks.

- $Impl descriptor is removed from FE 1.0 because it is no longer needed
for IR plugin; it shouldn't be exposed to users so FIR doesn't need it either.

- Since language lowering is now used, it is possible to correctly instantiate
SerialInfo annotations with default values even if they are from other modules
and even if they were not processed by the plugin.

#KT-48733 Fixed
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1574
2022-10-17 16:10:42 +00:00
Dmitrii Gridin 3c43416042 [AA] add more tests on property accessors
^KT-54311
2022-10-17 14:59:52 +00:00
Dmitrii Gridin 6bf1cefba6 [AA] do not render redundant declarations for AbstractSymbolByPsiTest
^KT-54311
2022-10-17 14:59:52 +00:00
Dmitrii Gridin a38e1747c3 [AA] split some SymbolByPsi tests on SingleSymbolByPsi to avoid redundant declarations
^KT-54311
2022-10-17 14:59:52 +00:00
Dmitrii Gridin 804a92546c [AA] AbstractSingleSymbolByPsi: search elements by caret instead of expression
^KT-54311
2022-10-17 14:59:51 +00:00
Dmitrii Gridin 588c0bbb03 [AA] KtPsiBasedSymbolPointer: drop redundant comments
^KT-54311
2022-10-17 14:59:51 +00:00
Dmitrii Gridin f7bd79a151 [AA K2] KtFirSymbolInfoProvider: add restriction on fir under fir symbol
^KT-54311
^KT-54360
2022-10-17 14:59:51 +00:00
Dmitrii Gridin 3c9fb5db27 [AA] make consistent hasStableParameterNames for setter and getter
^KT-54311
2022-10-17 14:59:50 +00:00
Dmitrii Gridin ba7d340090 [AA] more tests on receiver annotations
^KT-54311
^KT-54385
^KT-54417
2022-10-17 14:59:50 +00:00
Dmitrii Gridin b8a64d20ac [AA] restore Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated
^KT-54311
^KT-54385
2022-10-17 14:59:50 +00:00
Dmitrii Gridin 782ff3e4ea [K2 AA] add more tests on property annotations
^KT-54311
^KT-54385
2022-10-17 14:59:49 +00:00
Dmitrii Gridin c6742aa4c7 [K2 AA] DebugSymbolRenderer: render property symbol recursively
^KT-54311
2022-10-17 14:59:49 +00:00
Dmitrii Gridin a8ded36ac4 [K2 AA] FirAnnotationValueConverter: cleanup code
^KT-54311
2022-10-17 14:59:49 +00:00
Dmitrii Gridin b15cf05e59 [K2 AA] add hack to fix symbolKind for local class
^KT-54311
^KT-54390
2022-10-17 14:59:48 +00:00
Dmitrii Gridin f7568cef5c [K2 AA] fix symbolKind for nested local classes
^KT-54311
2022-10-17 14:59:48 +00:00
Dmitrii Gridin 027899a22a [K2 AA] add missing receiverType for getter and setter
^KT-54311
2022-10-17 14:59:48 +00:00
Dmitrii Gridin afe7605649 [K1 AA] fix default getter and setter
^KT-54311
2022-10-17 14:59:47 +00:00
Dmitrii Gridin 4ee5bf178c [AA] DebugSymbolRenderer: render symbols recursively
^KT-54311
2022-10-17 14:59:47 +00:00
Dmitrii Gridin 728e1941ac [K2] FirIdeRenderer: fix render for setter parameter annotations
^KT-54311
2022-10-17 14:59:47 +00:00
Dmitrii Gridin 2d240d2925 [AA] add test on property annotations
^KT-54311
2022-10-17 14:59:46 +00:00
Dmitrii Gridin 01d5a5bc5b [AA] support @JvmField in KtSymbolInfoProvider
^KT-54311
^KT-54360 Fixed
2022-10-17 14:59:46 +00:00
Dmitrii Gridin f4ae696aee [AA] more tests for file scope
^KT-54311
2022-10-17 14:59:46 +00:00
Dmitrii Gridin 317408e780 [AA] update tests on delegated property
^KT-54311
2022-10-17 14:59:45 +00:00
Dmitrii Gridin 9c30411bb3 [AA] create psi-based pointer only for KtSymbolOrigin.SOURCE
^KT-54311
2022-10-17 14:59:45 +00:00
Dmitrii Gridin 119f6858cd [AA] AbstractSymbolTest: add assertion on redundant directive
^KT-54311
2022-10-17 14:59:45 +00:00
Dmitrii Gridin 3c2e0cb3b9 [K2] KtFirClassInitializerSymbol: implement psi-based pointer
^KT-54311
2022-10-17 14:59:44 +00:00
Dmitrii Gridin a64c511e52 [FIR] FirManglerUtil: cleanup code
^KT-54311
2022-10-17 14:59:44 +00:00
Dmitrii Gridin 07a475969c [FIR] RedundantVisibilityModifierSyntaxChecker: cleanup code
^KT-54311
2022-10-17 14:59:44 +00:00
Dmitrii Gridin 5d2869b099 [K2] KtFirPropertySetterSymbol: cleanup code
^KT-54311
2022-10-17 14:59:43 +00:00
Dmitrii Gridin 2256cd83ce [K2] KtFirPropertyGetterSymbol: cleanup code
^KT-54311
2022-10-17 14:59:43 +00:00
Dmitrii Gridin 327ceceaec [FIR] FirJvmMangleComputer: cleanup code
^KT-54311
2022-10-17 14:59:43 +00:00
Dmitrii Gridin 5f9076fb7a [FIR] ConversionUtils: cleanup code
^KT-54311
2022-10-17 14:59:42 +00:00
Dmitrii Gridin a0b814a1b6 [FIR] make FirPropertyAccessor#propertySymbol non-nullable
we need it to restore property accessor by property

^KT-54311
2022-10-17 14:59:42 +00:00
Sergey Bogolepov c6bbce986d [K/N] Fix KT-54498
Forward users to kotlinlang.org instead of new_mm.md because the latter
is obsolete now.
2022-10-17 14:36:59 +00:00
vladislav.grechko b5a23e3ef7 Minor: improve usability of tests for custom equals in inline classes 2022-10-17 14:11:01 +00:00
vladislav.grechko cc1b4243dd Fix exception on 'equals()' returning 'Nothing' in inline class
^KT-54401: Fixed
2022-10-17 14:11:00 +00:00
Ilya Goncharov 4c6b433496 [Gradle] Dry run with wasm flags only for wasm targets
^KT-54421 fixed
2022-10-17 13:03:41 +00:00
Pavel Punegov bc33f84678 [K/N] Choose watchOS simulator depending on Xcode version
Merge-request: KT-MR-7410
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2022-10-17 12:52:52 +00:00
Mikhail Glukhikh 18ce3fc020 Fix pure-FIR diagnostics with BE tests 2022-10-17 12:46:25 +00:00
Mikhail Glukhikh 69c883ecee FIR: use FIR_IDENTICAL instead of FIR_IGNORE for diags with BE tests 2022-10-17 12:46:25 +00:00
Mikhail Glukhikh d00af1c932 FE: drop DiagnosticReporter.context.report & rename reportAndCommit 2022-10-17 12:46:24 +00:00
Mikhail Glukhikh 1826d9b332 K2: add & fix tests for JVM BE diagnostics 2022-10-17 12:46:24 +00:00
Mikhail Glukhikh 185e74fd26 Minor: add Suppress usage to CONFLICTING_JVM_DECLARATIONS test
Related to KT-54366
2022-10-17 12:46:23 +00:00
Xin Wang 69a4de0461 K2 JVM: Take JVM declarations conflicting error back
Since SimpleDiagnosticsCollectorWithSuppress have been replaced by
PendingDiagnosticsCollectorWithSuppress after commit 9add6f3d55,
diagnostics need to be committed now.

#KT-54366 Fixed
2022-10-17 12:46:23 +00:00
pyos 51619e0969 FIR: ignore redundant DEFINITELY_NOT_NULL_TYPE flags in deserialization
I.e. if T is already bounded by Any, deserialize T&Any as simply T
(instead of producing either an error type or an NPE, the latter
happening when the T&Any is the lower bound of a flexible type somehow)

Once again this is a problem of the kind where some weird combination of
FE1.0 and FIR causes a weird edge case error on invalid input and creating
a test with that specific setup is not really feasible.
2022-10-17 12:32:24 +02:00
vladislav.grechko aeccc2e787 Fix equality comparison of inline classes with primitive underlying type
^KT-54455 Fixed
2022-10-14 23:25:48 +00:00
nataliya.valtman 57f1405d95 Don't report compilation exceptions into error.log 2022-10-14 15:41:49 +00:00
nataliya.valtman 2379185398 Log daemon exception for In process compilation into error.log 2022-10-14 15:41:48 +00:00
Leonid Startsev 242b83edbd Prioritize @Serializable annotation on type usage over class usage
In `val p: @Serializable(X) Foo` and `@Serializable(Y) class Foo` situation,
now X would be chosen as serializer.

Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1895
2022-10-14 14:15:37 +00:00
Ilya Goncharov d2d13c8765 Use nowarn flag to disable Kotlin/JS compiler warns 2022-10-14 13:36:09 +00:00