Ivan Kochurkin
b25e460beb
[FIR2IR] Minor: simplify code
2023-02-01 11:42:46 +00:00
Ivan Kochurkin
6bdd0edd6c
[FIR2IR] Add Fir2IrCommonMemberStorage, get rid of merge in Fir2Ir storages
...
Extract DescriptorSignatureComposerStub and WrappedDescriptorSignatureComposer to separate classes
2023-02-01 11:42:46 +00:00
Ivan Kochurkin
c89770c450
[IR] Consider extension receivers during expect functions actualization
...
^KT-56199 Fixed
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
0f9107c153
[FIR2IR] Remove passing excess arguments to jvm backend functions and classes
...
generateModuleInFrontendIRMode, runBackend
FirJvmBackendExtension, ModuleCompilerIrBackendInput
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
e601b01be2
[FIR2IR] Use single IrBuiltInsOverFir for all MPP source modules
...
^KT-56229 Fixed
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
001b11f285
[FIR2IR] Use single SymbolTable and SignatureComposer for all MPP modules
...
Merge createModuleFragmentWithSignaturesIfNeeded and createModuleFragmentWithoutSignatures
into the createModuleFragmentWithSignaturesIfNeeded
2023-02-01 11:42:44 +00:00
aleksandrina-streltsova
a5d8429515
[FIR] fix implementation status for Java fields and synthetic properties
...
^KTIJ-23963 Fixed
2023-02-01 11:33:01 +00:00
Kirill Rakhman
f7f50ca842
[FIR2IR] Use cached IrEnumEntry when available in Fir2IrConverter
...
Calling createIrEnumEntry lead to "IllegalStateException:
Fir2IrEnumEntrySymbol for [declaration] is already bound" when the
IrEnumEntry was already created previously, e.g. by an annotation call
referencing it.
^KT-54079 Fixed
2023-01-31 15:40:25 +00:00
Kirill Rakhman
feb6fd0e0d
Revert "[FIR2IR] Temporary fix of createIrEnumEntry"
...
This reverts commit c9a8f433fb .
KT-54079
2023-01-31 15:40:24 +00:00
Mikhail Glukhikh
f0ea8ab81b
FIR2IR: make IrGetValue type consistent with IrVariable type
...
#KT-55458 Fixed
2023-01-31 13:43:26 +00:00
Mikhail Glukhikh
1c4d9175e7
FIR2IR: add test for KT-55458
2023-01-31 13:43:26 +00:00
Mikhail Glukhikh
9378da6f27
FirElementSerializer: drop no longer necessary code for accessor annotations
2023-01-31 13:16:13 +00:00
Anna Kozlova
b415aa7446
[FIR] take ready implicit unit type instead of return type calculation
...
and assert that symbol is not a substitution/intersection override
in the `compute` method otherwise.
Because `fakeOverrideSubstitution` should be calculated for all real
implicit types, no call to this method should actually happen.
Otherwise, it can be problematic to create a session
which would contain the full designation path:
`provider.getFirCallableContainerFile(symbol)`
returns `firFile` of a super class which might be from module `a`,
when declaration and its outer classes are from module `b`.
^KTIJ-24105
2023-01-31 11:21:17 +00:00
Kirill Rakhman
1eb18f13bd
FIR: Fix test data after making LHS of assignment an expression
...
KT-54648
2023-01-31 08:39:43 +00:00
Kirill Rakhman
ace47c06a5
FIR: Make LHS of FirVariableAssignment a FirExpression
...
This way references can even be resolved for erroneous assignments
(e.g. function call, if expression, ... on LHS)
^KT-54648 Fixed
2023-01-31 08:39:42 +00:00
Kirill Rakhman
4e9ae3b5e3
Reformat FirExpressionsResolveTransformer
2023-01-31 08:39:41 +00:00
Dmitriy Novozhilov
a084bcbbb5
[FIR] Expand expected types before ILT approximation
...
^KT-56176 Fixed
2023-01-31 07:53:12 +00:00
Dmitriy Novozhilov
4941fcd10e
[FIR] Report PRIVATE_CLASS_MEMBER_FROM_INLINE on qualifiers of companions
...
^KT-56172 Fixed
^KT-55179
2023-01-31 07:53:12 +00:00
Dmitriy Novozhilov
522eec8c51
[FIR] Fix reporting PRIVATE_CLASS_MEMBER_FROM_INLINE on members of companion
...
^KT-56172
^KT-55179
2023-01-31 07:53:12 +00:00
Dmitriy Novozhilov
d856ae1f35
[FIR] Move common members in symbols up in the hierarchy
2023-01-31 07:53:11 +00:00
Dmitriy Novozhilov
a83caec94f
[FE 1.0] Implement deprecation PRIVATE_CLASS_MEMBER_FROM_INLINE_WARNING warning
...
^KT-55179
^KT-56171 Fixed
2023-01-31 07:53:11 +00:00
Dmitriy Novozhilov
d01a2c7271
[Test] Add test for KT-45814
...
^KT-45814 Can't reproduce
2023-01-31 07:53:10 +00:00
Dmitriy Novozhilov
a1a9a55e1a
[Test] Add test for KT-41952
...
^KT-41952 Obsolete
2023-01-31 07:53:09 +00:00
Dmitriy Novozhilov
4c96495eef
[FIR] Put new contract syntax under feauture flag
...
^KT-55171 Fixed
2023-01-31 07:53:09 +00:00
Artem Vasilev
ccc3f52acf
[FIR] Rename FirSyntheticPropertiesStorage, extract property creation
2023-01-30 20:05:51 +00:00
Artem Vasilev
075a80613b
[FIR] Introduce cache for not-yet-enhanced synthetic properties
...
The original synthetic properties from Java were not cached anywhere and
created anew for every session. However, the enhanced properties are
(along with their originals) saved inside the session's cache, causing
inconsistency with newly created symbols via referential equality.
2023-01-30 20:05:50 +00:00
Pavel Kunyavskiy
cb655d2d37
[K/N] Fix work with adapted function references
...
Their parsing was totally incorrect for K2, and sometimes incorrect for
K1. After this commit it uses same code as for JVM.
^KT-55462
2023-01-30 19:44:49 +00:00
Marco Pennekamp
9a693fa967
[FIR] Update backend tests with actual/expect in same module
...
- The fix for KT-55570 caused some backend tests to fail, because errors
are now correctly reported for simple classes and actual/expect in
the same module is not supported in FIR. See KT-55177.
- The commit also adds separate tests for K2. Unfortunately, these have
to be disabled for K1 because K1 then reports "expect without actual"
errors.
2023-01-30 17:17:58 +00:00
Marco Pennekamp
1803bd36cc
[FIR] Fix IncDecOperatorsInExpectClass for FIR, add multi-module test
...
- `IncDecOperatorsInExpectClass.kt` should produce an
`ACTUAL_WITHOUT_EXPECT` in K2 (see KT-55177). This went unnoticed
because of KT-55570.
- A similar multi-module test for K1 and K2 has been added, called:
`multiplatform/incDecOperatorsInExpectClass.kt`.
2023-01-30 17:17:57 +00:00
Marco Pennekamp
2faa247075
[FIR] KT-55570 Fix ACTUAL_WITHOUT_EXPECT reporting for empty classes
...
- FirExpectActualMatcherTransformer: Instead of returning,
`transformMemberDeclaration` must assign an empty map to
`expectForActualData` so that `FirExpectActualDeclarationChecker`
doesn't assume that the member declaration needs no expect-actual
checking.
^KT-55570 fixed
2023-01-30 17:17:57 +00:00
Nikolay Lunyak
5994a99dbb
[FIR] KT-54507: Report redundant for abstract interfaces
...
^KT-54507 Fixed
Merge-request: KT-MR-8490
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-01-30 16:45:20 +00:00
Mikhail Glukhikh
bf090cdc6d
Add different black box tests around KT-52338
2023-01-30 14:55:41 +00:00
Mikhail Glukhikh
f6bd4d5e15
Diagnostic tests: create fieldRename subDir and use it for related tests
...
Related to: KT-55846, KT-50082, KT-55436, KT-55017
2023-01-30 14:55:40 +00:00
Mads Sig Ager
7c3cc1d5c1
[JVM_IR] Limit inner class attributes to types in class file ( #5081 )
...
* [JVM_IR] Limit inner class attributes to types in class file
Inner class attributes should only be recorded for types that
are materialized in the result class file. In particular, we
should not emit inner classes attributes for types that appear
only in fake overrides. We do map these types to track the
fake overrides for JVM signature clashes but they are not
materialized in the class file.
^KT-56104 Fixed
* [JVM_IR] Consistently pass around materialized boolean in mapType.
2023-01-30 14:11:07 +01:00
Yan Zhulanow
699f96284a
[FE] Add missing 'lazyResolveToPhase()' before recursive bound check
...
^KTIJ-24087 Fixed
2023-01-30 11:09:42 +00:00
Dmitriy Novozhilov
2fddb15539
[Test] Move some builder inference tests from codegen to diagnostics
...
^KT-56169
2023-01-30 09:29:58 +00:00
Dmitriy Novozhilov
88efa6bfb6
Update tests after switching to LV 1.9
2023-01-30 09:29:57 +00:00
Nikolay Lunyak
e2403c801f
[FIR] KT-55747: Report error for operator fun mod
...
^KT-55747 Fixed
Merge-request: KT-MR-8522
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-01-30 08:48:33 +00:00
Kirill Rakhman
836c4fcefd
FIR: Report missing cases of TYPE_PARAMETER_IS_NOT_AN_EXPRESSION
...
^KT-55699 Fixed
2023-01-30 08:24:20 +00:00
Pavel Mikhailovskii
f308f33f9f
KT-56154 Fix PropertyReferenceLowering for Java synthetic properties
...
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
2023-01-28 10:38:09 +00:00
Mikhail Glukhikh
8bc2aaa295
FE: Add test for KT-56227 (to confirm it's fixed)
2023-01-27 21:38:08 +00:00
Anna Kozlova
e54627b309
[FIR] add missed diagnostics for incomplete code
...
^KT-55053
2023-01-27 18:36:36 +00:00
Ivan Kylchik
706a8a91f6
Move kt55912 test into involvesIrInterpreter dir
2023-01-27 17:15:52 +00:00
Roman Golyshev
71a368e06e
[Analysis API] KTIJ-24107 Fix resolution of qualified invoke calls on objects
...
^KTIJ-24107 Fixed
^KTIJ-24344 Fixed
2023-01-27 16:49:30 +00:00
Sergej Jaskiewicz
bd18fd40ea
[K/N] Remap type args of SAM interfaces in FunctionReferenceLowering
...
#KT-56188 Fixed
2023-01-27 15:26:32 +00:00
Kirill Rakhman
efc957586d
FIR: Report EXPLICIT_DELEGATION_CALL_REQUIRED in some missing cases
...
^KT-55877 Fixed
2023-01-27 12:26:51 +00:00
Ivan Kylchik
bc21753877
Move IR interpreter's tests from ir/loweredIr directory into box
2023-01-27 10:52:56 +00:00
Ivan Kylchik
13cad2a820
Don't save constant value for non-resolved array expression in K1
...
#KT-55912 Fixed
2023-01-27 09:56:35 +00:00
Anna Kozlova
e5b96561e0
[FIR] skip implicit call to enum constructor if super type call exists
...
otherwise, reference to the super type would be resolved even when it's not
e.g. for interface constructor
^ KTIJ-24437
2023-01-27 08:20:07 +00:00
Mikhail Glukhikh
8aed6d3c4c
K2: add dispatchReceiverForStatics to ScopeTowerLevel to avoid receiver hacks
...
Related to KT-55116
2023-01-26 15:27:58 +00:00