sebastian.sellmair
1fca19258d
[Commonizer] ParameterizedTypesCommonizationTest: Remove unnecessary symbols
...
^KT-48288
2021-09-22 06:45:10 +00:00
sebastian.sellmair
fa2577dda8
[Commonizer] Improve performance of deserialization
...
^KT-48288
2021-09-22 06:45:09 +00:00
sebastian.sellmair
16bf5f3df3
[Commonizer] Improve performance of ClassOrTypeAliasTypeCommonizer
...
Performance is improved by reducing calls to 'backwardsTypeDistance'
^KT-48288
2021-09-22 06:45:09 +00:00
sebastian.sellmair
64d2ba4029
[Commonizer] Improve performance of 'backwardsTypeDistance'
...
This commit also introduces common sealed interfaces to represent
classifiers and types coming form dependencies or 'sources'
^KT-48288
2021-09-22 06:45:09 +00:00
sebastian.sellmair
fadb91fa35
[Commonizer] Rename CirCommonClassifierId to AssociatedClassifierIds
...
^KT-48288
2021-09-22 06:45:08 +00:00
sebastian.sellmair
de1ae970d7
[Commonizer] ClassOrTypeAliasTypeCommonizer: Improve comments
...
^KT-48288
2021-09-22 06:45:08 +00:00
sebastian.sellmair
7485d2529b
[Commonizer] Implement simple BackwardsTypeSubstitutionCommonizationTest
...
^KT-48288
2021-09-22 06:45:07 +00:00
sebastian.sellmair
38c7337b19
[Commonizer] Add tests to ParameterizedTypesCommonizationTest
...
^KT-48288
2021-09-22 06:45:07 +00:00
sebastian.sellmair
e1bc6c54d7
[Commonizer] Simplify CirClassOrTypeAliasType.withParentArguments()
...
^KT-48288
2021-09-22 06:45:07 +00:00
sebastian.sellmair
459e01a729
[Commonizer] CirConversions: Ensure consistent function names
...
^KT-48288
2021-09-22 06:45:06 +00:00
sebastian.sellmair
892512cb67
[Commonizer] Remove unused/old typeAliasUtils
...
^KT-48288
2021-09-22 06:45:06 +00:00
sebastian.sellmair
ba997905d9
[Commonizer] Remove CirClassType.visibility
...
^KT-48288
2021-09-22 06:45:05 +00:00
sebastian.sellmair
da1eb5d96e
[Commonizer] Implement CirTypeDistance.penalty
...
^KT-48288
2021-09-22 06:45:05 +00:00
sebastian.sellmair
d0cd7c81ea
[Commonizer] Minor: Change signature of CirConversions functions
...
^KT-48288
2021-09-22 06:45:05 +00:00
sebastian.sellmair
75d7c830e7
[Commonizer] Minor: Improve naming of methods and types
...
^KT-48288
2021-09-22 06:45:04 +00:00
sebastian.sellmair
808ea11072
[Commonizer] Improve access performance for TargetDependent
...
^KT-48288
2021-09-22 06:45:04 +00:00
sebastian.sellmair
cf0f061db5
[Commonizer] Implement two phased re-approximation
...
^KT-48288
2021-09-22 06:45:03 +00:00
sebastian.sellmair
b68f14960a
[Commonizer] Implement first ReApproximationCirNodeTransformer
...
^KT-48288
2021-09-22 06:45:03 +00:00
sebastian.sellmair
d2627f0a76
[Commonizer] CirCommonClassifierIdResolver: Implement caching as composition
...
^KT-48288
2021-09-22 06:45:03 +00:00
sebastian.sellmair
97befd0520
[Commonizer] Consider negative type distances 'worse'
...
^KT-48288
2021-09-22 06:45:02 +00:00
sebastian.sellmair
24680144da
[Commonizer] CirTypeDistance: Ensure consistent function signatures
...
^KT-48288
2021-09-22 06:45:02 +00:00
sebastian.sellmair
24ac122e88
[Commonizer] CirTypeDistance: Use property for 'unreachable'
...
^KT-48288
2021-09-22 06:45:01 +00:00
sebastian.sellmair
31445d1471
[Commonizer] ClassOrTypeAliasTypeCommonizer: Use typeDistance and type substitution
...
^KT-48288
2021-09-22 06:45:01 +00:00
sebastian.sellmair
4a6366ed9b
[Commonizer] TargetDependent: Implement inline map functions
2021-09-22 06:45:01 +00:00
sebastian.sellmair
b424800714
[Commonizer] Implement additional 'ParameterizedTypesCommonizationTest'
...
^KT-48288
2021-09-22 06:45:00 +00:00
sebastian.sellmair
4349f98954
[Commonizer] Fix CirConversions and substitute arguments
...
CirConversions did not cover some potential convertible types.
ClassOrTypeAliasTypeCommonizer did not apply type substitution
for parameterized types coming from a dependency
^KT-48288
2021-09-22 06:45:00 +00:00
sebastian.sellmair
e2343094ec
[Commonizer] Adapt CirUnderscoredTypeAliasSubstitutorTest
...
^KT-48288
2021-09-22 06:44:59 +00:00
sebastian.sellmair
9d2553bd18
[Commonizer] Adapt TypeCommonizerTest
...
^KT-48288
2021-09-22 06:44:59 +00:00
sebastian.sellmair
36a5b53398
[Commonizer] AbstractCommonizerTest.doTestFailure: Support single invocation commonizers
...
^KT-48288
2021-09-22 06:44:58 +00:00
sebastian.sellmair
4e6ad03df6
[Commonizer] Fix AbstractListCommonizer and adapt ValueParameterListCommonizerTest
...
^KT-48288
2021-09-22 06:44:58 +00:00
sebastian.sellmair
cdd917bd0b
[Commonizer] Adapt ExtensionReceiverCommonizerTest
...
^KT-48288
2021-09-22 06:44:58 +00:00
sebastian.sellmair
35a29acdc7
[Commonizer] Always use parent arguments for type substitution
2021-09-22 06:44:57 +00:00
sebastian.sellmair
5c7ac614ce
[Commonizer] Remove old implementations for type commonization
...
Removed AliasedTypeSubstitutor: Covered by ClassOrTypeAliasTypeCommonizer
Removed ClassTypeCommonizer: Covered by ClassOrTypeAliasTypeCommonizer
Removed type alias substitution transformers: Covered by CirCommonClassifierId
^KT-48288
2021-09-22 06:44:57 +00:00
sebastian.sellmair
bfa433fa06
[Commonizer] Split type substitution into forward and backwards
...
^KT-48288
2021-09-22 06:44:56 +00:00
sebastian.sellmair
698b3fce9e
[Commonizer] ClassOrTypeAliasTypeCommonizer: Support 'enableOptimisticNumberTypeCommonization'
...
^KT-48288
2021-09-22 06:44:56 +00:00
sebastian.sellmair
595cab2aaf
[Commonizer] ClassOrTypeAliasTypeCommonizer: Implement proper type argument substitution
...
^KT-47574 Verification Pending
2021-09-22 06:44:56 +00:00
sebastian.sellmair
c1f118e502
[Commonizer] Include dependencies in CirCommonClassifierId
...
^KT-48288
2021-09-22 06:44:55 +00:00
sebastian.sellmair
ef6f84b151
[Commonizer] Implement ClassOrTypeAliasTypeCommonizer with type substitution
...
^KT-48288
2021-09-22 06:44:55 +00:00
sebastian.sellmair
97e37243c6
[Commonizer] Move type commonization to single invocation commonizer
...
^KT-48288
2021-09-22 06:44:54 +00:00
sebastian.sellmair
3ee87f1635
[Commonizer] Use typealias invariant Approximation Keys
...
^KT-48288
2021-09-22 06:44:54 +00:00
sebastian.sellmair
763ddcddf4
[Commonizer] Implement CirCommonClassifierId & CirCommonClassifierIdResolver
...
This common representation of a classifier id can later be used
to render typealias invariant approximation keys.
^KT-48288
2021-09-22 06:44:54 +00:00
Dmitriy Novozhilov
0260bf8767
[FE] Move diagnostic parameter renderers to common module
2021-09-09 17:20:20 +03:00
sebastian.sellmair
a3d60f8ed2
[Commonizer] Minor: Don't unnecessarily capture size as local property
2021-09-07 11:36:48 +00:00
sebastian.sellmair
f3e55aeac0
[Commonizer] Rename type parameter from 'Context' to 'T'
...
NullableContextualSingleInvocationCommonizer:
Naming the type parameter 'Context' might provoke different/
misleading intuitions for many.
https://jetbrains.team/im/code/KFc0x1LxezP?message=BDpl60SJkVM&channel=2Ty4Ld4L0Aer
^KT-48567
2021-09-07 11:36:48 +00:00
sebastian.sellmair
2e053be703
[Commonizer] ReturnTypeCommonizer: Only allow covariant nullability for covariant types
...
The return type of any property with a setter can be considered invariant
and should enable covariant nullability commonization
^KT-48567
2021-09-07 11:36:47 +00:00
sebastian.sellmair
9e34382db5
[Commonizer] Implement TypeNullabilityCommonizer and ReturnTypeCommonizer
...
^KT-48567 Verification Pending
2021-09-07 11:36:47 +00:00
sebastian.sellmair
b13f3599cf
[Commonizer] Initial implementation for nullable return type commonization
...
^KT-48567
2021-09-07 11:36:46 +00:00
sebastian.sellmair
f56419cbf8
[Commonizer] Implement ReturnTypeNullabilityCommonizationTest
...
^KT-48567
2021-09-07 11:36:46 +00:00
Sergey Bogolepov
479e7a5169
[K/N] Fix KT-48566 by falling back to the old behavior
...
In 1.5.20 HostManager.host started to check host architecture and it
leads to regressing in case of os+arch combination that is not supported
by HostManager.
Before 1.5.20 HostManager.host was determined only by OS. It is
not correct, but Gradle plugin uses HostManager even if there are
no Native targets. We fallback to this behavior to workaround this
regression.
2021-09-07 04:42:01 +00:00
Svyatoslav Scherbina
d4a8c51637
Native: report a warning on invalid characters in identifiers
...
This will become an error in Kotlin 1.7.
^KT-46182 Fixed
2021-08-31 08:50:14 +00:00