Dmitriy Novozhilov
64766e125c
Move common inference classes to :compiler:resolution.common
2020-08-28 10:59:53 +03:00
Dmitriy Novozhilov
068d21635e
[NI] Get rid of KotlinType usages in MutableConstraintStorage.kt
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
af0df35623
[NI] Get rid of FE 1.0 types in ConstraintInjector
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
ad039a28bd
[NI] Get rid of left FE 1.0 types in NewConstraintSystemImpl
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
6914aba5c2
[NI] Commonize detection of @OnlyInputTypes in NewConstraintSystemImpl
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
64f0ee21c1
Get rid of FE 1.0 classes usage in ConstraintIncorporator
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
1050f7f066
Extract PostponedResolvedAtomMarker to separate file
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
1cadabb099
Extract ResolutionCandidateApplicability to separate file
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
775df6dfc3
[NI] Get rid of FE 1.0 type usages in ResultTypeResolver
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
aae1681b76
[NI] Get rid of ResolvedAtom usage in ConstraintSystemCompletionContext
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
11e8552861
[NI] Get rid of PostponedArgumentInputTypesResolver.Context
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
970a2581a1
[NI] Extract PostponedArgumentsAnalyzerContext from PostponedArgumentsAnalyzer
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
b15f847943
[NI] Extract common parts from KotlinConstraintSystemCompleter
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
12fbb93871
[NI] Extract FE 1.0 specific part from NewCommonSuperTypeCalculator
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
b21a0213df
[NI] Get rid of FE 1.0 types in AbstractTypeApproximator
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
527c5a771d
[NI] Get rid of FE 1.0 types in AbstractTypeCheckerContextForConstraintSystem
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
686c17a234
[NI] Rename NewConstraintSystem.diagnostics to errors
2020-08-28 10:59:50 +03:00
Dmitriy Novozhilov
59b2cb6393
[NI] Split KotlinCallDiagnostics and inference errors to different hierarchies
2020-08-28 10:59:50 +03:00
Dmitriy Novozhilov
fae21d4db3
Introduce frontend independent constraint positions
2020-08-28 10:59:50 +03:00
Dmitriy Novozhilov
e5e3d7cab1
Extract FE 1.0 related parts from NewConstraintSystem
2020-08-28 10:59:50 +03:00
Dmitry Savvinov
5649cbc2e1
Wire KotlinTypeRefiner in areCallableDescriptorsEquivalent
...
See the issue for details
^KT-41218 Fixed
2020-08-27 18:50:42 +03:00
Dmitriy Novozhilov
9cde42e2bc
[NI] Fix shouldRunCompletion for builder inference session
...
#KT-41308 Fixed
#KT-41363
2020-08-27 16:51:12 +03:00
Dmitriy Novozhilov
e98cbf81cf
[NI] Don't always complete builder inference lambda in FULL mode
...
#KT-41164 Fixed
2020-08-27 16:51:11 +03:00
Mikhail Zarechenskiy
cba13c3c35
Take into account captured types with variables during fixation
...
#KT-41202 Fixed
2020-08-27 11:06:14 +03:00
Mikhail Zarechenskiy
06a592c018
Fix SOE when recursive type argument is used with star projection
...
#KT-41043 Fixed
2020-08-26 19:23:21 +03:00
Mikhail Zarechenskiy
674e9e455f
Fold lower constraints like (T!!..T) and (T..T?) into the latter one
...
#KT-41149 Fixed
2020-08-26 19:23:20 +03:00
Mikhail Zarechenskiy
e91b378b7d
Don't perform unnecessary SAM conversions
...
#KT-41149 In Progress
2020-08-26 19:23:19 +03:00
Mikhail Zarechenskiy
6a7ed96be5
Consider T <: Nothing! as trivial during constraint incorporation
...
#KT-41149 In Progress
2020-08-26 19:23:18 +03:00
Mikhail Zarechenskiy
567e6ca9ca
Fix OOM when there are several lambdas with extension function types
...
#KT-41335 Fixed
2020-08-26 19:23:18 +03:00
Alexander Udalov
a9ddf02556
Replace deprecated usages of max/min with maxOrNull/minOrNull
2020-08-25 20:33:59 +02:00
Dmitriy Novozhilov
a764732020
Rename KotlinBuiltInsNames to StandardNames
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
079a2dfe1e
Move EventOccurrencesRange class to :core:descriptors.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
7a7fe77b8e
Move static constants with builtin names to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Denis Zharkov
cee72023fa
Remove TypeSystemContext::mayBeTypeVariable optimization
...
It doesn't work now since anyway it's required to obtain type
constructor
At the same time, now it's not very expensive to obtain the constructor
since it's just a lookup tag
2020-08-21 12:50:33 +03:00
Alexander Udalov
a21f273570
Fix compiler warnings in compiler code
2020-08-17 21:18:20 +02:00
Mikhail Zarechenskiy
aafe41cf7a
Do not force coercion to Unit for nullable lambda return type
...
#KT-41005 Fixed
2020-08-13 10:40:51 +03:00
Oleg Ivanov
4367d6631f
[FIR] Add CallsInPlace contract analyzer
2020-08-11 16:17:01 +03:00
Mikhail Zarechenskiy
a45f73867a
Add compatibility resolve when SAM conversion was applied partially
...
#KT-40646 Fixed
2020-08-05 00:03:33 +03:00
vldf
d7b3a86f5e
[FIR] Add "can be val" extended checker
2020-07-28 14:17:38 +03:00
Denis Zharkov
dc6efa5a61
Fix incorrect handling of mixed named/positional arguments
...
^KT-40404 Fixed
2020-07-24 13:36:52 +03:00
Pavel Kirpichenkov
1ef17c6f3a
Drop isErrorTypeAllowed flag from type system context
...
The flag was used exclusively during calculation of common super type.
This change relies on assumption, that common super type is
NOT calculated in IR type system context.
2020-07-22 11:41:42 +03:00
Victor Petukhov
b0ac046b05
NI: decrease fixation priority for variables which have only incorporated from upper bound constraints
...
^KT-40045 Fixed
^KT-39633 Fixed
2020-07-20 19:20:18 +03:00
Mikhail Zarechenskiy
4083111dab
Fix SAM conversion when lambda is the last expression of another lambda
...
#KT-39691 Fixed
2020-07-20 14:30:40 +03:00
Mikhail Zarechenskiy
0c79de1a98
Prohibit adapted reference resolve against reflective types
...
There are design questions about reflection for adapted references,
so the current proposal is to prohibit reflection on them and support
it properly later
#KT-40406 Fixed
2020-07-20 14:30:39 +03:00
Victor Petukhov
b0c96a61ec
Don't try to infer postponed variables on lambdas without BuilderInference annotation
...
^KT-39618 Fixed
2020-07-15 16:19:43 +03:00
Mikhail Zarechenskiy
bb23556ead
Don't perform Unit-conversion for functional types with type variables
...
#KT-40269 Fixed
2020-07-14 13:05:28 +03:00
Mikhail Zarechenskiy
09b44b3189
Fix rewrite at slice exception for callable references inside flatMap
...
#KT-40254 Fixed
2020-07-14 13:05:28 +03:00
Mikhail Zarechenskiy
678b76cab1
Fix presence of Deprecated hidden annotation for reference arguments
...
#KT-40234 Fixed
2020-07-13 11:23:28 +03:00
Mikhail Zarechenskiy
0c8b847ae6
Introduce compiler key to disable compatibility resolution mechanism
...
Enable it if one was using new inferene before 1.4
#KT-40128 Fixed
#KT-40112 Fixed
#KT-40113 Fixed
2020-07-10 14:23:45 +03:00
Victor Petukhov
eec3a4720c
NI: don't collect members if a receiver type is StubType to avoid creating error candidates instead of not crating them at all
...
^KT-37717 Fixed
2020-07-07 11:17:06 +03:00