Victor Petukhov
685d16ec68
NI: don't do substitution for unsupported callable descriptors to use as callable references
...
^KT-41729 Fixed
2020-09-09 18:00:41 +03:00
Victor Petukhov
c1ebd33833
Capture flexible intersection types properly: take into account both bounds and use the same captured arguments for them
...
^KT-41693 Fixed
2020-09-09 14:52:12 +03:00
Pavel Kirpichenkov
24d8aee2bb
Prioritize resolution anchors during resolution
...
When required dependency is present both in source dependencies and in
library dependencies, the former one should be selected.
#KT-24309
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
5892bdf3f4
Extend import resolution for library-to-source analysis
...
Use composite importing scope for references when resolution anchors are enabled.
Composite scope provides additional descriptors from scope of resolution anchor module.
Overriding old importing scope with a new one is not possible as it breaks library
dependencies on other libraries, which are inaccessible in anchor scope (scope for sources).
KT-24309 In Progress
2020-09-07 18:52:10 +03:00
Dmitriy Novozhilov
6906e0d82d
Move common jvm classes from :core:descriptors.jvm to :core:compiler.common.jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
696f089b3e
Make DescriptorVisibility delegate to Visibility
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
2bcd8ee07f
Get rid of Visibility.effectiveVisibility member
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
7d9b7df3b4
Cleanup code in EffectiveVisibility.kt and extract descriptors related part to separate file
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
6346b1b2ab
Use type markers instead of class descriptors in effective visibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
10fd164b77
Extract FE 1.0 dependent part from JavaToKotlinClassMap
...
Also move JavaToKotlinClassMap to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
4d5f28d5c0
Move FunctionInvokeDescriptor.BIG_ARITY to :core:compiler.common
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
bf4bf30b4a
Move CompanionObjectMapping to :core:compiler.common
2020-09-04 11:07:40 +03:00
Victor Petukhov
85d99612a2
Don't create inconsistent types (with contradictive use site and declaration site variances) for star projections with corresponding contravariant type parameters during substitution
...
^KT-41388 Fixed
2020-09-03 16:24:28 +03:00
Dmitriy Novozhilov
a0b931792e
Move annotationsForResolve.kt to :core:compiler.common
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
07c353973d
Move requireOrDescribe to :core:compiler.common
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
f010dc533c
Move Variance.convertVariance to :core:compiler.common
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
e164c88a14
Move TypeSystemCommonBackendContext to :core:compiler.common
2020-09-01 12:00:11 +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
Dmitry Savvinov
5649cbc2e1
Wire KotlinTypeRefiner in areCallableDescriptorsEquivalent
...
See the issue for details
^KT-41218 Fixed
2020-08-27 18:50:42 +03:00
Alexander Udalov
a9ddf02556
Replace deprecated usages of max/min with maxOrNull/minOrNull
2020-08-25 20:33:59 +02:00
Dmitriy Novozhilov
bc1b6d3588
Rename :core:descriptors.common to :core:compiler.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
864cf21f03
Merge :core:type-system into :core:descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
5fa80a2f8c
Merge :core:deserialization:deserialization.common into :core:descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
bbac270b33
Move OperatorNameConventions to :core.descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
2760a187a9
Move FunctionClassKind utils to :core.descriptors.common
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
2285d3e3cf
Move Variance and AnnotationUseSiteTarget to :core.descriptors.common
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
167f18b738
Move SourceElement and SourceFile to :deserialization.common
...
Remove dependency on `:core:descriptors` from `:core:deserialization:deserialization.common`
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
a764732020
Rename KotlinBuiltInsNames to StandardNames
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
82a9b1492b
Move RenderingUtils to :core:descriptors.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
ba6b1c37d0
Move TargetPlatform to :core:descriptors.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
d6d2be8e58
Move incremental components to :core:descriptors.common module
2020-08-25 10:41:31 +03:00
Dmitriy Novozhilov
3a48265077
Move ModuleDescriptor.Capability to :core:descriptors.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
45cf221b97
Move util functions from KotlinBuiltIns to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
7a7fe77b8e
Move static constants with builtin names to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
9d9f9c52c0
Extract some classes from descriptors module to :core:common
...
This is needed to remove dependencies from fir modules to
`:core:descriptors` module
What was extracted:
- Modality
- ClassKind
- org.jetbrains.kotlin.name package
2020-08-25 10:31:35 +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
Mikhail Zarechenskiy
f2fba8a469
Fix delegated property resolve when provideDelegate has this as argument
...
#KT-41135 Fixed
2020-08-19 12:52:16 +03:00
Alexander Udalov
a21f273570
Fix compiler warnings in compiler code
2020-08-17 21:18:20 +02:00
Alexander Udalov
9b94e073af
Fix warnings related to OptIn/UseExperimental
2020-08-17 21:18:19 +02:00
Alexander Udalov
469b164555
IR: minor optimizations to IR validation
2020-08-14 21:55:37 +02:00
Victor Petukhov
af48f08f9c
NI: take into account flexible types during capturing arguments from expression
...
^KT-40544 Fixed
2020-08-04 12:38:04 +03:00
Georgy Bronnikov
a27d63f58f
JVM_IR: flexible nullability as annotation
...
We carry information about flexible nullability of IrType as an
annotation, so there is no need to look at its underlying KotlinType.
2020-07-30 11:24:07 +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
Pavel Kirpichenkov
710659324c
[NI] Fix common supertype of types with error supertypes
...
Enable check for error supertypes during CST calculation in classic type system context.
Cyclic upper bound + known type parameters of superclasses may create non-error types
with error supertypes. Such types don't have common constructors with other normal types
and cause assertion errors during intersection.
^KT-36951 Fixed
2020-07-22 11:41:42 +03:00
Denis Zharkov
037ff2fa52
Fix incorrect handling of @NotNull type parameters
...
^KT-36770 In progress
^KT-40114 Relates
^KT-28785 Relates
2020-07-22 10:16:14 +03:00
Alexander Udalov
96f0a8e8e5
IR: minor, inline OverridableMember
2020-07-10 16:17:06 +02:00