Commit Graph

1432 Commits

Author SHA1 Message Date
Mikhail Glukhikh 7bd512fbb3 FE: add test for KT-54305 2022-10-25 12:33:08 +00:00
Johan Bay 9f3d8130db Remove unnecessary deprecation annotation
Private members on private companion objects have proper visibility
so there is no need for the @Deprecated annotation.

^KT-54539 Fixed
2022-10-25 14:03:11 +02:00
Jinseong Jeon 14213ddad2 AA: fix expected type for lambda with explicit label 2022-10-24 22:07:05 +02:00
Ivan Kylchik 5b16b2c71e Properly verify args in string concatenation expression for interpreter
If string concatenation contains object value, then this argument
will not have explicit toString call. We must find and check toString
method manually.

#KT-54615
2022-10-24 13:14:16 +00:00
Mikhail Glukhikh 5347c3c7cc FE: add test for KT-53408 to have stable behavior here 2022-10-20 13:27:04 +02:00
Jinseong Jeon dbf0ba442a (U|S)LC: fix getText for modifier list / accessor 2022-10-19 14:17:36 +02:00
Jinseong Jeon e1344968ec (S|U)LC: fix getTextOffset and getTextRange for modifier list of accessors
in a similar way 36e1149e did for property accessors
2022-10-19 14:17:36 +02:00
Jinseong Jeon 19151fa866 SLC: fix getTextOffsets and getTextRange for accessors
Same idea from LC fix at 36e1149e
2022-10-19 14:17:36 +02:00
Jinseong Jeon ae437716d6 SLC: remove unnecessary overridden kotlinOrigin for accessor
Same as the declaration in the base class SymbolLightMemberBase
2022-10-19 14:17:36 +02:00
Dmitriy Novozhilov 8fbb605034 [FIR] Rename containingClass function to containingClassLookupTag
Since this function returns lookup tag instead of FirClass or symbol
  the old name may lead to misunderstanding
2022-10-19 11:09:34 +00:00
Dmitriy Novozhilov fa9f0bcf84 [FIR] Ignore CFA-only edges in DFA even if they are dead
^KT-53920 Fixed
2022-10-19 11:09:33 +00:00
Dmitriy Novozhilov 55aae5325c [Test] Add test for KT-54209 2022-10-19 11:09:32 +00:00
Dmitriy Novozhilov 5665139865 [Test] Add test for KT-54125 2022-10-19 11:09:31 +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 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 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
pyos ee921412fc FIR: intersect return types of declarations in intersection scopes
^KT-54378 Fixed
2022-10-14 08:25:26 +00:00
Ivan Kochurkin 40a01180ff [FIR] Move createSessionWithDependencies and createEmptySession into FirSessionFactoryHelper 2022-10-13 18:11:48 +00:00
vladislav.grechko 817afcd4af KT-MR-7307 review fixes 2022-10-13 15:19:10 +00:00
Denis.Zharkov 31ba1f1534 Add deprecation warning for false-negative TYPE_MISMATCH
See KT-49404 for details

In K1, within SubstitutingScope we approximate almost all the types
containing captured types are being approximated to either a lower or
an upper bound.

While mostly, it's being done correctly there are some problems with
approximations for flexible types

So, the parameter's type of A<in Any>::foo is approximated to Inv<in Any!>,
thus allowing to use Inv<*>, while it's obviously unsound.

NB: For the similar example, in B, there are regular TYPE_MISMATCH
because parameter for B<in Any>::foo is approximated to Nothing

Also, it's important to say that
- in K2 everything works because we don't use type approximation there
- approximation algorithm that works incorrectly is only being used in K1

^KT-54332 Fixed
2022-10-12 20:53:02 +00:00
Mikhail Glukhikh 0940707fd4 FE: add reproducer for KT-54004 2022-10-12 08:21:12 +00:00
Pavel Mikhailovskii f4bdf54601 KT-8575 Fix warnings for Java synthetic properties 2022-10-10 22:03:58 +00:00
vladislav.grechko e0c8142106 Support of custom 'equals' and 'hashCode' in inline classes
'equals' from any made available for overriding in inline classes
'typed' equals made available for definition in inline classes
'typed' equals definition made compulsory if 'untyped' is overridden
'operator' keyword is allowed in 'typed' equals definition

^KT-24874: Fixed
2022-10-10 16:52:34 +00:00
Mikhail Glukhikh d491eba629 K2: add reproducer for KT-54275 2022-10-10 06:20:39 +00:00
Nikolay Lunyak b6f950ed75 [FIR][FE 1.0] KT-47933: Warn about redundant @Repeatable
Merge-request: KT-MR-7318
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com>
2022-10-07 13:33:49 +00:00