Commit Graph

107 Commits

Author SHA1 Message Date
Dmitriy Dolovov 75be9cf31f [Commonizer] Tests on rewriting callables names to succeed commonization
^KT-34602
2020-08-17 09:31:28 +07:00
Dmitriy Dolovov de0b6e06cf [Commonizer] Keep parameters names hash in approximation keys for ObjC callables
^KT-34602
2020-08-17 09:31:21 +07:00
Dmitriy Dolovov 3b901a28d5 [Commonizer] More compact approximation keys
^KT-34602
2020-08-17 09:31:12 +07:00
Dmitriy Dolovov 4418dc85ca [Commonizer] Allow rewriting callables names to succeed commonization
^KT-34602
2020-08-17 09:31:03 +07:00
Dmitriy Dolovov 8904f5652b [Commonizer] Allow extended lookup for classifiers in test mode
Only for commonizer tests!

Allow to look up classifiers from the standard Kotlin packages (kotlin, kotlinx)
both in the default built-ins module and in test data sources. This is necessary
to write tests that refer to C-interop classifiers that are not available without
Kotlin/Native distribution.

^KT-34602
2020-08-17 09:30:57 +07:00
Dmitriy Dolovov 3b398ed57f [Commonizer] Small clean-up in IllegalCommonizerStateException 2020-08-17 09:30:47 +07:00
Dmitriy Dolovov 494fb39399 [Commonizer] CLI: Report duration even if it's 0ms long 2020-08-17 09:30:42 +07:00
Dmitriy Dolovov 9ef727747b [Commonizer] Use Array instead of List in AbstractListCommonizer 2020-08-17 09:30:36 +07:00
Dmitriy Dolovov 02f08b16d6 [Commonizer] Ignore CallableDescriptor.hasSynthesizedParameterNames attribute 2020-07-16 14:26:37 +07:00
Dmitry Savvinov 3ef760604b Force expansion to have the same nullability as abbreviation
Note that classifier.underlyingType is always non-nullable, but
abbreviation might be nullable, so we should keep them consistent

^KT-40199 Fixed
2020-07-13 11:50:10 +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 16aee6c8d6 [Commonizer] Lookup descriptors that doesn't participate in commonization
^KT-40119
2020-07-09 16:44:33 +07:00
Dmitriy Dolovov 3af937ea9a [Commonizer] Remove isDefinitelyNotNullType from CirSimpleType 2020-07-09 16:44:32 +07:00
Dmitriy Dolovov d3e858645f [Commonizer] Remove CirTypeSignature from CirType 2020-07-09 10:08:13 +07:00
Dmitriy Dolovov 4ab5bfef22 [Commonizer] Preserve order of supertypes in commonized class 2020-07-09 10:08:06 +07:00
Dmitriy Dolovov 5e383e9d71 [Commonizer] Narrow CirClassifierId subtype cast in AnnotationsCommonizer 2020-07-09 10:07:59 +07:00
Dmitriy Dolovov 7a283c64cb [Commonizer] Minor. Reorder type params for CirNode 2020-07-09 10:07:52 +07:00
Alexander Udalov 8c71d8f126 Undeprecate VariableDescriptorWithAccessors.isDelegated
Apparently there's quite a few valid usages of this method outside of
the compiler frontend, where manual suppression is annoying.
2020-07-07 18:09:40 +02:00
Dmitriy Dolovov d63728afe5 [Commonizer] Use 'index:Int' instead of Name for addressing type parameters 2020-07-03 22:27:58 +07:00
Dmitriy Dolovov 3bb234b17c [Commonizer] Clean-up CirTypeSignature usages 2020-07-03 00:22:44 +07:00
Dmitriy Dolovov ffd0c69698 [Commonizer] Use ClassId instead of FqName for addressing classes and TAs 2020-07-03 00:22:38 +07:00
Dmitriy Dolovov 3e42b9d527 [Commonizer] Remove unused property from CirFunction 2020-07-01 00:12:03 +07:00
Dmitriy Dolovov b2022144e6 [Commonizer] Fast-pass for library fragments absent for some targets
^KT-39897
2020-06-29 16:40:59 +07:00
Dmitriy Dolovov d8fa617bfd Minor. Fix typo in text printed to users 2020-06-23 17:27:14 +07:00
Dmitriy Dolovov 59183a8142 [Commonizer] Replace j.u.HashMap by g.t.THashMap to reduce memory usage 2020-06-19 19:36:06 +07:00
Dmitriy Dolovov 70ea53315d [Commonizer] Intern duplicated CirContainingClassDetails instances 2020-06-19 19:18:13 +07:00
Dmitriy Dolovov 63d549dfa1 [Commonizer] Intern duplicated CirFunctionModifiers instances 2020-06-19 19:18:07 +07:00
Dmitriy Dolovov 68e1acd2cb [Commonizer] More detailed progress logging 2020-06-19 19:18:01 +07:00
Dmitriy Dolovov 6410aed1b4 Minor. Replace computeIfAbsent() by getOrPut() 2020-06-19 19:17:55 +07:00
Dmitriy Dolovov 6393667dda [Commonizer] Rework preparation of CIR cache in TypeCommonizerTest 2020-06-19 19:17:49 +07:00
Dmitriy Dolovov 5cad8a793c [Commonizer] Rework CommonizedGroup API to make it more usable 2020-06-19 19:17:43 +07:00
Dmitriy Dolovov 63575582c4 [Commonizer] Reduce memory consumption during approximation phase
^KT-39320
2020-06-19 19:17:33 +07:00
Dmitriy Dolovov 439808952d [Commonizer] Fix incorrect merging KLIB dependencies
^KT-39609
2020-06-17 11:38:27 +07:00
Dmitriy Dolovov af1dd6251e [Commonizer] Fallback for const val properties with different values 2020-06-16 15:04:08 +07:00
Dmitriy Dolovov 0f10faabbf [Commonizer] More precise approximation of callables 2020-06-15 16:11:49 +07:00
Dmitriy Dolovov 205510863a [Commonizer] Stats collector: support aggregated stats 2020-06-15 16:11:34 +07:00
Dmitriy Dolovov f7ceacb15c [Commonizer] Update stats collector: report receivers & parameters 2020-06-15 16:11:23 +07:00
Dmitriy Dolovov 3b4cef1b56 Minor. Rename excludes list 2020-06-15 16:11:06 +07:00
Vyacheslav Gerasimov 3e3afac407 Build: Fix pom runtime scope for kotlin-klib-commonizer 2020-06-14 20:31:28 +03:00
Vyacheslav Gerasimov b85b733e42 Build: Remove explicit legacy maven plugin application 2020-06-14 20:31:25 +03:00
Dmitriy Dolovov 24568058e1 Minor. Remove unused code 2020-06-10 18:41:05 +07:00
Dmitriy Dolovov 84a4644490 [Commonizer] Speed-up serialization of commonized member scopes 2020-06-10 18:15:12 +07:00
Dmitriy Dolovov 9936468a5e [Commonizer] Update stats collector to report lifted up declarations 2020-06-09 11:13:04 +07:00
Dmitriy Dolovov 611946a7c7 [Commonizer] Drop useless annotation tests
^KMM-238
^KMM-53
2020-06-09 11:12:59 +07:00
Dmitriy Dolovov 596363ea23 [Commonizer] Refactor/simplify marker interfaces 2020-06-09 11:12:55 +07:00
Dmitriy Dolovov f3b400975e [Commonizer] Drop useless "allowPrivate" flag in VisibilityCommonizer 2020-06-09 11:12:50 +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 e5885e9277 [Commonizer] Unit tests on lifting up identical type aliases
^KMM-55
2020-06-09 11:12:41 +07:00
Dmitriy Dolovov d3c6dc362e [Commonizer] Lift up identical type aliases
^KMM-55
2020-06-09 11:12:36 +07:00
Dmitriy Dolovov e37a485aaa [Commonizer] Process expect/actual cross-module dependencies in source-based tests 2020-06-09 11:12:31 +07:00