Ilya Kirillov
7c202948cd
[fir low level, fir] extract empty FirPredicateBasedProvider to a separate class
2022-05-05 10:43:12 +02:00
Victor Petukhov
73be9d0a20
[FE] Don't check intersection emptiness if there were lower constraints
2022-04-27 19:50:30 +00:00
Victor Petukhov
a0260292ec
[FIR] Remove always-false check for type of candidate while collection candidates
2022-04-27 19:50:28 +00:00
Victor Petukhov
39d13442be
[FE] Support intersection type emptiness checking for interfaces
2022-04-27 19:50:25 +00:00
Victor Petukhov
e0a1f1c405
[FE] Review fixes
2022-04-27 19:50:24 +00:00
Victor Petukhov
47d6236a2d
[FIR] Support determining emptiness of an intersection type with type parameters' types
2022-04-27 19:50:23 +00:00
Victor Petukhov
c16ae81a48
[FIR] Report errors for upper bounded type variables by an empty intersection type
...
^KT-51221 Fixed
2022-04-27 19:50:21 +00:00
Victor Petukhov
9474406375
[FIR] Check if type variable is bounded in upper by incompatible types (resolution stage)
2022-04-27 19:50:20 +00:00
Victor Petukhov
095a5d1fdf
[FIR] Get rid of unnecessary opt ins
2022-04-27 19:50:20 +00:00
Victor Petukhov
9885094472
[FIR] Don't turn constraint storage into FREEZED stage during resolution
2022-04-27 19:50:19 +00:00
Victor Petukhov
9e9e0211eb
[FE] Check if type variable is fixed into an empty intersection type and report resolution warnings/errors if needed (completion stage)
...
^KT-51221 Fixed
2022-04-27 19:50:18 +00:00
Roman Golyshev
1d5cb8ab75
[FIR] Get FirSession from declaration in ReturnTypeCalculatorWithJump
...
If the session is from the other module, it might not know about
FirFiles which are relevant for transforming and resolving the
declaration
^KT-52136 Fixed
2022-04-21 19:23:20 +00:00
Aleksei.Cherepanov
3d8f140d6b
[JPS] Fix incremental build after changing Java enum used in Kotlin when
...
EnumWhenTracker implemented for tracking changed java enum class items, that used in kotlin when expression.
#KT-47824 Fixed
2022-04-19 18:39:41 +00:00
Ilya Kirillov
9088da7b33
[fir] use correct session for supertype symbol search
...
During supertype resolution we may encount a supeclass came from other source session.
In this case, we should search for it containing FirFile inside that session
2022-04-19 12:37:49 +02:00
Ivan Kochurkin
541fba1531
[FIR] Type argument instead of unexpected type parameter for TypeMismatch error
...
^KT-49035
^KT-51201 Fixed
2022-04-18 15:36:20 +00:00
Ivan Kochurkin
8c7fad9a5e
[FIR] Support of type arguments in annotations ^KT-48444 Fixed
2022-04-18 15:36:19 +00:00
Ivan Kochurkin
05bed8f751
[FIR] Hide local type for return type of single expression function ^KT-51418 Fixed
2022-04-18 15:36:18 +00:00
Mikhail Glukhikh
0ecba0ad0b
FIR: don't create incorrect constraints in CallableReferenceResolution
...
#KT-50994 Fixed
Related to KT-49477
2022-04-18 14:27:42 +00:00
Dmitriy Novozhilov
b79f5a445f
[FIR] Use proper ReturnTypeCalculator inside FakeOverrideTypeCalculator
2022-04-07 12:18:49 +00:00
Dmitriy Novozhilov
6e2402620f
[FIR] Fix collecting member candidates on receiver with smartcast
...
^KT-51460 Fixed
^KT-51827
2022-04-07 12:18:48 +00:00
Denis.Zharkov
6937e08b9c
FIR: Remove effectively incorrect code from Candidate.getReceiverType
2022-04-06 16:05:42 +00:00
Denis.Zharkov
41bc842b9d
FIR: Support context receivers in Fir2Ir
2022-04-06 16:05:39 +00:00
Denis.Zharkov
512446843b
FIR: Support typeRef-name label for this
2022-04-06 16:05:37 +00:00
Denis.Zharkov
dfc736161a
FIR: Fix overload resolution with context receivers
2022-04-06 16:05:35 +00:00
Denis.Zharkov
ef84dddc88
FIR: Add preliminary support for context receivers in resolution
2022-04-06 16:05:32 +00:00
Denis.Zharkov
8f013db94d
FIR: Simplify resolution for invokeExtension on implicit extension
2022-04-06 16:05:29 +00:00
Denis.Zharkov
9a070ad4f6
FIR: Get rid of SessionBasedTowerLevel
2022-04-06 16:05:28 +00:00
Denis.Zharkov
150f951fb2
FIR: Simplify and clarify contracts in FirInvokeResolveTowerExtension
2022-04-06 16:05:28 +00:00
Denis.Zharkov
f7371816de
FIR: Minor. Simplify FirInvokeResolveTowerExtension
2022-04-06 16:05:27 +00:00
Denis.Zharkov
550d24f8c6
FIR: Introduce ContextFunctionTypeParams type attribute
2022-04-06 16:05:26 +00:00
Mikhail Glukhikh
9bd6a9c069
FIR: handle 'SinceKotlin' as a special kind of deprecated
...
#KT-51850 Fixed
2022-04-06 12:51:20 +00:00
Ivan Kochurkin
3566b7fe02
[FIR] Fix smartcast after elvis with escaping lambda, ^KT-44510 Fixed
2022-04-05 15:50:48 +00:00
Ivan Kochurkin
c7122c1492
[FIR] Fix break/continue in try-finally in loop, ^KT-51759
2022-04-05 15:50:47 +00:00
Ivan Kochurkin
e9b9322672
[FIR] Track inc and dec operator calls in preliminary loop visitor, ^KT-44879 Fixed
2022-04-05 15:50:46 +00:00
Ivan Kochurkin
48dbb9ceb9
[FIR] Fix resolving of refs with implicit this in lambdas in smartcasts
2022-04-05 15:50:43 +00:00
Ivan Kochurkin
c6f52893fb
[FIR] Fix inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and properties
...
^KT-51203 Fixed
2022-04-05 15:50:43 +00:00
Dmitriy Novozhilov
5a3b397552
[FIR] Get rid of FirTypedDeclaration
...
`FirTypedDeclaration` has only one inheritor (`FirCallableDeclaration`),
so there is no much sense to keep this class
2022-04-04 15:23:58 +00:00
Dmitriy Novozhilov
ae0ce57b2c
[FIR] Don't force calculation of return type of overrides during status resolution
2022-04-04 15:23:57 +00:00
Dmitriy Novozhilov
effa3f197a
[FIR] Move ReturnTypeCalculator to :fir:providers module
...
Also make it an abstract class and turn ReturnTypeCalculatorForFullBodyResolve
into object (because it has no state and there is no need to create
different instances of it)
2022-04-04 15:23:56 +00:00
Dmitriy Novozhilov
0025d170d1
[FIR] Reorganize processing of candidates in MemberScopeTowerLevel
...
First collect all candidates and only then consume them. This is needed
for further handling of overridable candidates from smartcasts
2022-04-04 15:23:54 +00:00
Ilya Chernikov
0446a21b46
FIR IC: remove unnecessary lookup tracking in retrun type calc
2022-03-30 08:31:40 +00:00
Ilya Chernikov
2aba465494
FIR IC: provide file sources to lookup where possible
...
because detecting file source by element source is possible for LT
only in some limited cases.
2022-03-30 08:31:33 +00:00
simon.ogorodnik
03bb482322
KT-45553. Hide declaration from star import if imported with alias
2022-03-29 23:38:42 +00:00
Evgeniy.Zhelenskiy
b6f2513dd2
[FIR] Introduce valueClassRepresentation to FIR
...
#KT-1179
2022-03-24 11:38:44 +00:00
Mikhail Glukhikh
b327f5c731
Substitute type variables properly in ConeOverloadConflictResolver
...
#KT-46187 Fixed
2022-03-23 09:54:46 +00:00
Mikhail Glukhikh
c051edcbee
FIR: add visibility filtering for qualifier resolve #KT-51621 Fixed
2022-03-15 13:21:03 +00:00
Mikhail Glukhikh
901336e6e9
FIR: handle ambiguity more precisely during constructor processing
2022-03-15 13:21:02 +00:00
Mikhail Glukhikh
b038ae8b0c
FIR: handle double-imported constructors properly
2022-03-15 13:21:01 +00:00
Mikhail Glukhikh
bd790b792c
FIR: minor code cleanup
2022-03-15 13:21:01 +00:00
Mikhail Glukhikh
6ecc97575d
FIR: make deeper recursive type alias expansion check (see KT-37000)
2022-03-15 13:08:18 +00:00