Commit Graph

19 Commits

Author SHA1 Message Date
Dmitriy Dolovov b0ff3e7e5e [Commonizer] More fine-grained control of commonized module dependencies
- Reduce usage of 'isUnderStandardKotlinPackages' check in commonizer source code
- Rely on common module dependencies supplied via commonizer Parameters which not only
  Kotlin standard library but may also include common fragments of other libraries
2020-12-03 13:11:27 +03:00
sebastian.sellmair 06cb64bb51 Allow open callable members in expect interfaces
#KT-42094 fixed
2020-11-11 17:41:59 +00:00
Dmitriy Dolovov f5bb60f7cd [Commonizer] Refactor CIR type representation
1. Drop CirClassifierId
2. Specialized classes for each kind of types (classes, TAs, type parameters, flexible types).
3. TypeCommonizer now returns commonized type. In case of TAs this could be a completely new type
   describing expect class or a new TA with the different underlying type.
2020-11-05 18:50:43 +03:00
Dmitriy Dolovov 2764550bbe [Commonizer] Relax conditions for TA lifting-up
Allow lifting up matching TAs with non-empty list of type parameters
and non-empty list of type arguments in the expanded type.
2020-11-05 18:50:37 +03:00
Dmitriy Dolovov c69402c800 [Commonizer] Fix computing underlyingType and expandedType in CirTypeAlias 2020-10-19 11:21:53 +03:00
Dmitriy Dolovov 74dce725cc [Commonizer] Tests for missed supertypes in commonized type aliases
^KT-41247
2020-09-01 13:11:33 +07:00
Dmitriy Dolovov d40bca4143 [Commonizer] Short-circuiting of type aliases
^KT-41220
2020-08-24 12:21:12 +07:00
Dmitriy Dolovov 75be9cf31f [Commonizer] Tests on rewriting callables names to succeed commonization
^KT-34602
2020-08-17 09:31:28 +07:00
Dmitry Savvinov 8890ae10d4 Add test on signatures with nullable abbreviated types
Currently test fails, see KT-40199
2020-07-13 11:50:10 +07:00
Dmitriy Dolovov af1dd6251e [Commonizer] Fallback for const val properties with different values 2020-06-16 15:04:08 +07:00
Dmitriy Dolovov 611946a7c7 [Commonizer] Drop useless annotation tests
^KMM-238
^KMM-53
2020-06-09 11:12:59 +07:00
Dmitriy Dolovov d9bfe11ca1 [Commonizer] Source-based tests on lifting up identical type aliases
^KMM-55
2020-06-09 11:12:45 +07:00
Dmitriy Dolovov 9f31931bb8 [Commonizer] Tests on lifting up identical const properties
^KMM-241
2020-05-28 12:12:39 +07:00
Dmitriy Dolovov e92adf3d4e [Commonizer] Don't preserve annotations on types
This may lead to leakage of specific annotation classes to common module

^KMM-53
2020-05-08 23:52:24 +07:00
Dmitriy Dolovov 5bb5d7f892 [Commonizer] Limited annotation commonization. Tests
^KMM-238
^KMM-53
2020-05-08 23:52:17 +07:00
Dmitriy Dolovov ae570e4acf [Commonizer] Don't filter out @Deprecated non-top-level functions
^KMM-238
2020-05-08 23:51:46 +07:00
Dmitriy Dolovov 9a8a1113db [Commonizer] Don't commonize deprecated functions
1. All functions marked with @Deprecated from Kotlin/Native platform libraries
have DeprecationLevel.ERROR, and therefore practically can not be used by
a developer in their code. So, it does not make sence to keep such
declarations in commonized libraries.

2. Commonization of such functions would also require commonization of
annotations with nested annotations as const values (ex:
@Deprecated(level = DeprecationLevel.ERROR), where both @Deprecated
and DeprecationLevel are annotation classes). This is not implemented yet.
2020-02-18 22:02:38 +07:00
Dmitriy Dolovov 11e0f427ac [Commonizer] Refactor CIR to avoid strong refs on descriptors
This is necessary to reduce memory consumption in commonizer while
processing sets of massive libraries.
Ex: ios_x64 (127 libraries) vs ios_arm64 (127 libraries).
2020-02-18 22:02:29 +07:00
Dmitriy Dolovov 9594b8db42 Rename Kotlin/Native modules for uniformity 2020-01-29 20:30:46 +07:00