Commit Graph

450 Commits

Author SHA1 Message Date
Vyacheslav Gerasimov bc2f0936bd Build: Rename commonDep -> commonDependency 2021-12-16 21:48:19 +03:00
Starlight220 e77f72071d migrate KmValueParameter.type (KmType? -> lateinit KmType) 2021-10-26 18:21:38 +02:00
Dmitriy Novozhilov 9baf10cfcc [Build] Remove forgotten comment from build config 2021-10-12 17:26:33 +03:00
Pavel Kirpichenkov 5e874bc3c5 [Commonizer] Check errors in code of commonization tests 2021-10-11 13:00:40 +00:00
Dmitriy Novozhilov e933c7b6d9 [Build] Remove testApi(intellijDep()) dependencies from all modules
Since IDEA moved most of it's jars to java 11 it's illegal to use them
  in our dependencies, so all modules which use `intellijDep()` should
  carefully specify which jars they use
2021-09-30 14:41:31 +03:00
sebastian.sellmair a279f682bb [Commonizer] Add additional documentation to ClassOrTypeAliasTypeCommonizer
^KT-48288
2021-09-22 06:45:12 +00:00
sebastian.sellmair 6d17e4da57 [Commonizer] Implement disabled tests for ^KT-48288
^KT-48288
^KT-48850
2021-09-22 06:45:11 +00:00
sebastian.sellmair 104d2b347b [Commonizer] Minor: CirType: Use copyInterned over createInterned
^KT-48288
2021-09-22 06:45:11 +00:00
sebastian.sellmair 3b67bcbf4d [Commonizer] ClassOrTypeAliasTypeCommonizer: Remove faulty argument substitution
Underlying types from CirTypeAliasType do not require
parent argument replacement.

^KT-48288
2021-09-22 06:45:11 +00:00
sebastian.sellmair 7bf62ab159 [Commonizer] Implement tests for 'crossed' type aliases
^KT-48288
2021-09-22 06:45:10 +00:00
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