Dmitriy Dolovov
149282a888
[Commonizer] Fix: Stats not logged for "native-dist-commonize" CLI task
2021-03-04 22:24:11 +03:00
Dmitriy Dolovov
1c06972ec6
[Commonizer] Minor. Formatted
2021-03-04 22:24:05 +03:00
Dmitriy Dolovov
d6961a6e60
[Commonizer] Rework MetadataDeclarationsComparator API
...
1. Formalize all possible variants of entities where mismatch could happen via sealed interface MetadataDeclarationsComparator.EntityKind
2. Track the path to the place of mismatch in terms of MetadataDeclarationsComparator.PathElement
2021-03-04 22:23:57 +03:00
Dmitriy Dolovov
43d9c6cc90
[Commonizer] Reworked functions for making nullable CIR types
2021-03-02 11:37:25 +03:00
Dmitriy Dolovov
7ad35b2f49
[Commonizer] Change CIR type calculation procedure
...
- By default, all CIR types are created as abbreviated types
(if such information is available in descriptors).
- When necessary, CIR type can be "unabbreviated" to remove any
abbreviations from it. This can be done via a separate function
in CirTypeFactory: unabbreviate().
2021-03-01 23:17:16 +03:00
sebastian.sellmair
a7a085d640
[Commonizer] ModuleSerializer: Sanitize library names for Windows
...
The CInterop tool can produce klibs that contain colons in their library name.
Therefore the library name, as is, cannot be used as file name.
The sanitizer will replace any occurring ':' with '_'
2021-03-01 19:53:08 +03:00
Stanislav Erokhin
f77ba914c7
[MERGE] Kotlin/Native history merged into kotlin/master
2021-02-26 15:30:58 +01:00
Vasily Levchenko
b05e742238
[commonizer-api] workaround for old k/n artifacts
2021-02-26 12:51:54 +01:00
Alexander Udalov
ca5a35b4b3
Move CompilerEnvironment from 'frontend' to 'cli'
...
This is needed in order to have a single convenient place where to
register frontend services implemented _outside_ of the 'frontend'
module, such as the control flow analysis, extracted to a separate
module in a subsequent commit.
2021-02-24 17:17:03 +01:00
Vasily Levchenko
840c1e612c
[build] joint (step 2)
...
- dist:
- compiler
- tools(cinterop,klib)
- stdlib
- cache
2021-02-24 11:07:13 +01:00
Dmitriy Dolovov
fa2b2c8735
[Commonizer] Make CirProperty.compileTimeInitializer non-nullable
...
There is effectively no difference between null and CirConstantValue.NullValue recorded in compileTimeInitializer.
2021-02-22 21:06:49 +03:00
Dmitriy Dolovov
b3e68d3704
[Commonizer] Make CirProperty.[backing|delegate]FieldAnnotations non-nullable
...
There is effectively no difference between missing field and a field with no annotations.
2021-02-22 21:06:41 +03:00
Dmitriy Dolovov
215dd8515b
Minor. Remove compilation warning
2021-02-22 21:06:34 +03:00
Dmitriy Dolovov
05447ce0c8
[Commonizer] Print true time for resolving of libraries to be commonized
2021-02-18 18:47:38 +03:00
Dmitriy Dolovov
0b26a281de
[Commonizer] Print pretty target name in console output
2021-02-18 18:47:33 +03:00
Dmitriy Dolovov
fb51105a5d
[Commonizer] Log time in commonizer result consumers
2021-02-18 18:47:28 +03:00
Dmitriy Dolovov
496aad3c4a
[Commonizer] Log commonization only for really present targets
2021-02-18 18:47:19 +03:00
Dmitriy Dolovov
3ad7b60747
[Commonizer] Prefer using CommonizerTarget instead of KonanTarget
2021-02-18 18:47:14 +03:00
Dmitriy Dolovov
1895c230ef
[Commonizer] K/N dist: Process targets in alphabetical order
2021-02-18 18:47:10 +03:00
Dmitriy Dolovov
f473b88e47
[Commonizer] Nicer API for CirProvidedClassifiers
2021-02-18 18:47:05 +03:00
Dmitriy Dolovov
84ce9c612c
[Commonizer] Keep only "common" dependencies in CirKnownClassifiers
2021-02-18 18:47:00 +03:00
Dmitriy Dolovov
2581b67cda
[Commonizer] Rename: CirCommonizedClassifiers -> CirCommonizedClassifierNodes
2021-02-18 18:46:55 +03:00
Dmitriy Dolovov
43ad0ed907
[Commonizer] Optimized implementation of CirProvidedClassifiers
...
Read classifiers directly from metadata, don't use descriptors.
2021-02-18 18:46:49 +03:00
Dmitriy Dolovov
79e3ce022f
[Commonizer] Fix: Keep fwd declarations under real names in CirForwardDeclarations cache
2021-02-18 18:46:45 +03:00
sebastian.sellmair
35008df969
[Commonizer] Rename NativeDistributionCommonizer to LibraryCommonizer
2021-02-17 19:24:54 +00:00
sebastian.sellmair
4500b6ce74
[Commonizer] Implement :native:kotlin-klib-commonizer:api with support for library commonization
...
- Implement new Gradle module ':native:kotlin-klib-commonizer'
- Implement new NativeKlibCommonize task
- Implement CommonizerTarget.identityString
2021-02-17 19:24:54 +00:00
Dmitriy Dolovov
45b17120ad
[Commonizer] Minor. Rename: 'dependee' -> 'dependency'
2021-02-16 17:19:49 +03:00
Dmitriy Dolovov
ec7e411d80
[Commonizer] Remove classifierId from CIR class/TA nodes
2021-02-16 17:19:43 +03:00
Dmitriy Dolovov
ef931d5561
[Commonizer] Don't keep kotlin/Any as the single supertype in CirClass
2021-02-16 17:19:38 +03:00
Dmitriy Dolovov
0eaea655d0
[Commonization] Improvements in approx. keys
...
- Don't print upper bounds if it contains only kotlin/Any?
- Print variance in lowercase
2021-02-15 13:25:52 +03:00
Dmitriy Dolovov
3c6eb8f8f4
Minor. Formatted
2021-02-15 13:25:47 +03:00
Dmitriy Dolovov
0af31abb04
[Commonizer] Add tests for overloading purely by different upper bounds
2021-02-15 13:25:40 +03:00
Dmitriy Dolovov
90cdb9203f
[Commonizer] Fix integration tests: wrong mismatches filter
2021-02-15 13:25:34 +03:00
Dmitriy Dolovov
8a17de38d0
[Commonizer] Fix integration tests: serialize only own module contents
2021-02-15 13:25:28 +03:00
Dmitriy Dolovov
7f8f1dc4f8
[Commonizer] Calculate hash code by pure name in approximation keys
2021-02-15 13:25:22 +03:00
Victor Petukhov
0d40022d6d
Add reporting of the warnings based on Java annotations for expanded type aliases
...
Before that, such warnings weren't reported as the corresponding errors were reported during type inference (only original types took part there)
2021-02-15 12:13:55 +03:00
Dmitriy Dolovov
154a768a3a
[Commonizer] Minor. Remove unused import
2021-02-10 14:18:14 +03:00
Dmitriy Dolovov
ac966ad1d2
[Commonizer] Add getParentEntityId() method to CirEntityId
2021-02-10 14:18:14 +03:00
Dmitriy Dolovov
4bab505c3a
[Commonizer] Introduce CIR entities for representing various flavors of names
...
- CirName - simple name
- CirPackageName - fully-qualified name of the package
- CirEntityName - fully-qualified name of some entity, ex: Class, TypeAlias
2021-02-10 14:18:14 +03:00
Dmitriy Dolovov
f8c5244a39
[Commonizer] Use CirConstantValue class to represent constant values
2021-02-10 14:18:13 +03:00
Dmitriy Dolovov
25df25ccc6
[Commonizer] Minor. Extract common module names from CommonizerParameters
2021-02-10 14:18:13 +03:00
Dmitriy Dolovov
97000b1285
[Commonizer] Drop CirContainingClassdetails in favor of CirClass entity
2021-02-10 14:18:13 +03:00
Dmitriy Dolovov
054b59198b
[Commonizer] Don't keep fqName inside of CirPackageNode
2021-02-10 14:18:13 +03:00
Dmitriy Dolovov
5d19ac16d5
[Commonizer] Drop useless CirPackageNode.moduleName property
2021-02-10 14:18:12 +03:00
Dmitriy Dolovov
c6756762e5
[Commonizer] Refactoring: Clean-up in CirTreeMerger
2021-02-10 14:18:12 +03:00
Dmitriy Dolovov
27dcd07a5e
[Commonizer] Remove filter for simd_ functions (no more relevant)
2021-02-05 15:56:33 +03:00
Dmitriy Dolovov
4d5ec6e52a
[Commonizer] Minor. Rename: builders.kt -> entityBuilders.kt
2021-02-05 15:56:28 +03:00
Dmitriy Dolovov
955f86ef9f
[Commonizer] Minor. Rename: buildingVisitor.kt -> metadataBuilder.kt
2021-02-05 15:56:23 +03:00
Dmitriy Dolovov
33c1ca01f4
[Commonizer] Simplify creation of SerializedMetadataLibraryProvider
2021-02-05 15:56:17 +03:00
Dmitriy Dolovov
6c92ea518b
[Commonizer] Add ModulesProvider.loadModuleMetadata() to load raw metadata
2021-02-05 15:56:12 +03:00