Dmitriy Novozhilov
9e5ee3afa0
[FE] Add isLocal name to ClassId constructor calls where it needed
2023-09-21 12:40:44 +00:00
Dmitriy Novozhilov
a43cb721ba
[FE] Convert ClassId.java to Kotlin
2023-09-21 12:40:43 +00:00
Mikhail Glukhikh
326d68c1f4
Drop separate K1/K2 implementations of generateMetadataExtraFlags
...
Related to KT-62056
2023-09-21 11:14:09 +00:00
Mikhail Glukhikh
8b8088720b
Rename: DeserializedContainerAbiStability.IR_UNSTABLE -> UNSTABLE
...
Related to KT-62056
2023-09-21 11:14:09 +00:00
Mikhail Glukhikh
a77b758efa
LV 2.0: drop reporting FIR_COMPILED_CLASS and relevant stuff
...
#KT-62056 Fixed
Related to KT-59171, KT-61951
2023-09-21 11:14:09 +00:00
Nikolay Lunyak
2801db0e59
[FIR] Unwrap substitution overrides for multiple default values
...
Otherwise, duplicate diagnostics may be reported on
subtypes of the type that actually declares the
problematic override.
2023-09-21 07:48:31 +00:00
Nikolay Lunyak
76fa812949
[FIR] Ensure K2 reports redundant diagnostics for default values
2023-09-21 07:48:31 +00:00
Nikolay Lunyak
8755cf75ac
[FIR] Improve the messages of the multiple defaults diagnostics
...
Mention the base functions where the default
values come from.
2023-09-21 07:48:30 +00:00
Kirill Rakhman
4e1dfcd2a8
[FIR] Improve readability of rendered types in diagnostics
...
#KT-61824 Fixed
#KT-61688 Fixed
2023-09-21 07:18:19 +00:00
Kirill Rakhman
99b852adf8
[FIR] Refactor constructors of ConeTypeRenders
2023-09-21 07:18:19 +00:00
Kirill Rakhman
da0308806a
[FIR] Rename ConeTypeRendererWithJavaFlexibleTypes to ConeTypeRendererForReadability
2023-09-21 07:18:19 +00:00
Kirill Rakhman
e996760e7e
[FIR] Fix rendering of SUSPENSION_POINT_INSIDE_CRITICAL_SECTION
...
#KT-61826 Fixed
2023-09-21 07:18:19 +00:00
Kirill Rakhman
ed4386a962
[FIR] Fix rendering of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS
2023-09-21 07:18:19 +00:00
Ivan Kochurkin
3cd4f7c3aa
[FIR] Consider @PlatformDependent annotation everywhere (including JS and Native)
...
^KT-57858 Fixed
Remove FirEmptyOverridesBackwardCompatibilityHelper since it's not used anymore
Remove overridesMemberWithPlatformDependent.kt test file since it becomes redundant
2023-09-20 17:12:52 +00:00
Ivan Kochurkin
1026cdf035
[FIR] Register necessary resolve components for library session for all backends
...
^KT-61876 Fixed
2023-09-20 17:12:52 +00:00
Mikhail Glukhikh
1c6af76f61
Skip pre-release checks in FP tests
2023-09-20 15:57:54 +00:00
Mikhail Glukhikh
eb3f785c36
K2: drop state mutation from ResolvedLambdaAtom init block
...
Related to KT-61933
2023-09-20 15:42:03 +00:00
Mikhail Glukhikh
770bbd8f6b
K2: drop state mutation from LambdaWithTypeVariableAsExpectedTypeAtom init block
...
Related to KT-61933
2023-09-20 15:42:03 +00:00
Mikhail Glukhikh
14bc20652e
K2: process also arguments while calculating postponed atoms
...
#KT-61933 Fixed
2023-09-20 15:42:03 +00:00
Mikhail Glukhikh
0c287c9945
K2: reproduce KT-61933
2023-09-20 15:42:03 +00:00
Roman Efremov
ad4d1a5ba8
[IR] Support ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE in K2
...
It's implemented as IR checker because in K2 constant expressions are
evaluated on backend. FIR diagnostic removed because isn't needed.
"annotationViaActualTypeAlias" test has no `// FIR_IDENTICAL` because
diagnostic reported on entire typealias declaration instead of its name.
This is because in IR+LightTree we have only offsets, so can't navigate
to typealias name element.
^KT-59940 Fixed
2023-09-20 15:40:37 +00:00
Sergej Jaskiewicz
88c308dfd3
[FIR generator] Don't print extra space in the where clause
2023-09-20 15:39:40 +00:00
Dmitriy Novozhilov
e31ee1fa57
[FIR2IR] Get rid of builtin classes scope precaching
...
Previously it was required to generate fake-overrides for builtin classes
beforehead, but during fix of KT-60924 it is no longer required
^KT-60924
2023-09-20 13:27:09 +00:00
Dmitriy Novozhilov
4e08cafc78
[FIR2IR] Get rid of IrSymbol.owner usages in Fir2IrLazyClass
...
^KT-60924
2023-09-20 13:27:09 +00:00
Dmitriy Novozhilov
5dbc0f12d1
[FIR2IR] Rename getIrEnumEntry to getOrCreateIrEnumEntry
...
This is needed for sake of naming consistency.
2023-09-20 13:27:09 +00:00
Dmitriy Novozhilov
3a9567ad45
[FIR2IR] Get rid of IrSymbol.owner usages in generation of delegated bodies in DelegatedMemberGenerator
...
^KT-60924
2023-09-20 13:27:09 +00:00
Dmitriy Novozhilov
4164c0f7ef
[FIR2IR] Get rid of all usages of IrSymbol.owner from Fir2IrLazySimpleFunction
...
^KT-60924
2023-09-20 13:27:09 +00:00
Dmitriy Novozhilov
97005e5f78
[FIR2IR] Get rid of all usages of IrSymbol.owner from Fir2IrLazyPropertyAccessor
...
^KT-60924
2023-09-20 13:27:09 +00:00
Dmitriy Novozhilov
5b2fe7290b
[FIR2IR] Move opt-ins to IrSymbolInternals closer to actual usages of symbol.owner
...
^KT-60924
2023-09-20 13:27:09 +00:00
Dmitriy Novozhilov
3778a69bf6
[FIR2IR] Replace getIrFieldSymbol with getOrCreateIrField in Fir2IrDeclarationStorage
...
Effectively, `getIrFieldSymbol` always created `IrField` if it was needed
and returned its symbol. So to avoid potentially unsafe access of
`IrFieldSymbol.owner` it's more convenient to return directly `IrField`
^KT-60924
2023-09-20 13:27:09 +00:00
Dmitriy Novozhilov
e7b95d1288
[FIR2IR] Replace getIrClassSymbol with getOrCreateIrClass in Fir2IrClassifierStorage
...
Effectively, `getIrClassSymbol` always created `IrClass` if it was needed
and returned its symbol. So to avoid potentially unsafe access of
`IrClassSymbol.owner` it's more convenient to return directly `IrClass`
^KT-60924
2023-09-20 13:27:08 +00:00
Ivan Kochurkin
063835488f
Revert "[FIR] Fix missing RETURN_TYPE_MISMATCH for labeled return statements"
...
This reverts commit 8e72f60996
Since some intellij tests are failing
2023-09-20 12:29:41 +02:00
Vladimir Sukharev
e9d4de658d
[FIR2IR] Don't emit empty body of while/do_while loop
...
Merge-request: KT-MR-12283
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-09-20 10:06:00 +00:00
Kirill Rakhman
5b4409e34c
[FIR] Store abbreviated type in deserialized declarations as attribute
...
#KT-58542 Fixed
2023-09-20 09:31:29 +00:00
Ivan Kochurkin
8e72f60996
[FIR] Fix missing RETURN_TYPE_MISMATCH for labeled return statements
...
in lambda functions, ^KT-59907 Fixed
2023-09-20 09:06:37 +00:00
Kirill Rakhman
2e4d486131
[FIR] Use enhanced scope to guess array type in annotation loading
...
Otherwise, we return null for any java annotation because the
unenhanced scope doesn't contain any properties.
#KT-61856 Fixed
2023-09-20 08:02:37 +00:00
Sergej Jaskiewicz
0dd01279da
[FIR generator] Move Implementation.Kind to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-19 22:19:37 +00:00
Sergej Jaskiewicz
e62343427d
[FIR generator] Move Field and FieldContainer to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-19 22:19:37 +00:00
Sergej Jaskiewicz
982b9221b4
[FIR generator] Move ArbitrarilyImportable class to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-19 22:19:37 +00:00
Sergej Jaskiewicz
7a6bffaabb
[FIR generator] Move Importable interface to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-19 22:19:37 +00:00
Nikolay Lunyak
ec9cb8beb6
[FIR] Rename JvmNames -> JvmStandardClassIds
...
This is more consistent with the code of
the common compiler checkers.
It would be nice to refactor the contents
of this object further, but it's out
of scope of the current branch.
^KT-54596
2023-09-19 22:14:09 +00:00
Nikolay Lunyak
986f1624ec
[FIR] Remove jvm-specific annotations from common compiler code
...
^KT-54596 Fixed
2023-09-19 22:14:09 +00:00
Ilmir Usmanov
f7a2da8f82
Minor. Add regression test for KT-41997
...
#KT-41997 Fixed
2023-09-19 20:11:57 +00:00
Ilya Chernikov
e5ee364419
IC: Implement expect/actual tracking
...
fixes NewMultiplatformIT.testIncrementalCompilation
also #KT-61590 fixed
2023-09-19 15:46:30 +00:00
Nikita Bobko
b15787bfa8
Fir incorrect usage of AbstractExpectActualCompatibilityChecker.getCallablesCompatibility API
...
^KT-62027 Fixed
`getCallablesCompatibility` requires parentSubstitutor as a parameter,
but we created a member-level substitutor
`getCallablesCompatibility` will create member-level substitutor itself,
no need to create member-level substitutor on the call site.
IndexOutOfBounds was happening in an attempt of creating member-level
substitutor
I will refactor the `createExpectActualTypeParameterSubstitutor` API in
the following commits later. It will help to avoid problems like that
2023-09-19 14:24:15 +00:00
Dmitrii Gridin
12dc6b1ebc
[FIR] FirRenderer: render name for scripts
...
A script name is important information, so it is better to render it.
This also will fix the inconsistency with redundant space after 'SCRIPT:'.
2023-09-19 14:03:29 +00:00
Dmitrii Gridin
c6bb9af823
[FIR] FirRenderer: add missing resolvePhaseRenderer usage for anonymous initializer and dangling modifiers
2023-09-19 14:03:29 +00:00
Brian Norman
4b6c767704
[FIR] Report UNINITIALIZED_VARIABLE for top-level properties
...
When checking top-level properties, check with initialization enabled.
This makes sure the same errors are reported for member and top-level
properties.
2023-09-19 13:42:54 +00:00
Roman Efremov
c88b4105c5
[K2] Correctly handle case when expect annotation is unresolved
...
Don't report if annotation has error type.
Review: KT-MR-12250
^KT-62026 Fixed
2023-09-19 10:19:08 +00:00
Roman Efremov
04c1bf749c
[K1] Correctly handle case when expect annotation is unresolved
...
Before change NPE was thrown.
Review: KT-MR-12250
^KT-62026
2023-09-19 10:19:08 +00:00