Dmitriy Dolovov
9c4af5070b
[Commonizer] Ignore acceptable (minor) metadata mismatches in tests
2021-02-02 23:12:37 +03:00
Dmitriy Dolovov
a4438ad64f
[Commonizer] Fix calculation of type parameter IDs for nested classes and their members
2021-02-02 23:12:30 +03:00
Dmitriy Dolovov
55c37183d9
[Commonizer] Ignore constructors for enum entries
2021-02-02 23:12:23 +03:00
Dmitriy Dolovov
dfd1a53624
[Commonizer] Don't serialize kotlin/Any? as the single type parameter upper bound
2021-02-02 23:12:18 +03:00
Dmitriy Dolovov
1c8cd242bf
[Commonizer] Don't write IS_EXPECT flag for synthesized expect functions
2021-02-02 23:12:12 +03:00
Dmitriy Dolovov
9d6c0e56ed
[Commonizer] Fix HAS_ANNOTATIONS flag calculation for serialized classes
2021-02-02 23:12:07 +03:00
Dmitriy Dolovov
b39a205671
[Commonizer] Minor. Improved diagnostics message in tests
2021-02-02 23:12:01 +03:00
Dmitriy Dolovov
80b95a22a4
[Commonizer] Fix property backing/delegate field annotations serialization
2021-02-02 23:11:55 +03:00
Dmitriy Dolovov
3b91d1c5e5
[Commonizer] Don't commonize built-ins
2021-02-02 23:11:49 +03:00
Dmitriy Dolovov
585cd64b9a
[Commonizer] Drop descriptors for commonized declarations
2021-02-02 23:11:44 +03:00
Dmitriy Dolovov
5ff6b5ef42
[Commonizer] Rework test infrastructure to compare metadata instead of descriptors
2021-02-02 23:11:38 +03:00
Dmitriy Dolovov
f67a9615b8
[Commonizer] Pretty target name output in console
2021-02-02 23:11:31 +03:00
Dmitriy Dolovov
e5aa772639
[Commonizer] Fix approximation for aliases types
2021-02-02 23:11:26 +03:00
Dmitriy Dolovov
4c640e3f81
[Commonizer] Log stats during building metadata
2021-02-02 23:11:19 +03:00
Dmitriy Dolovov
d610837caf
[Commonizer] Integrate metadata builder with the commonizer environment
2021-02-02 23:11:13 +03:00
Dmitriy Dolovov
2bcaf1fa63
[Commonizer] Introduce metadata builder
2021-02-02 23:11:04 +03:00
Dmitriy Dolovov
9551e0fff2
[Commonizer] Introduce MetadataDeclarationsComparator for metadata-based comparison of KLIBs
2021-02-02 23:10:51 +03:00
Dmitriy Dolovov
701374a646
[Commonizer] Embed :kotlinx-metadata-klib into the commonizer Jar
2021-02-02 23:10:45 +03:00
Dmitriy Dolovov
08cc904a71
[Commonizer] Restore lost nullability for underlying types in TAs
2021-02-02 23:10:39 +03:00
Dmitriy Dolovov
85f79695b9
[Commonizer] Avoid leaking non-commonized underlying types in TAs
2021-02-02 23:10:32 +03:00
Sergey Bogolepov
06498c0efd
Support for macos_arm64 target in backend
2021-02-02 15:30:03 +07:00
Roman Artemev
6118d1cf23
[Commonizer] Fix commonizer build
2021-01-26 19:23:25 +03:00
Dmitriy Dolovov
ee93efc19d
[Commonizer] Avoid leaking non-commonized types as arguments in short-circuited TAs
2021-01-15 22:01:56 +03:00
Alexander Udalov
8ae19f5cd7
Fix deprecated Interner/StringInterner usages after update to 202
2021-01-13 19:17:21 +01:00
Alexander Udalov
77a9d14f93
Capitalize/decapitalize only ASCII characters across project
...
Use {de,}capitalizeAsciiOnly and to{Lower,Upper}CaseAsciiOnly where
possible, and stdlib's functions with Locale.US everywhere else.
Otherwise, if the default system locale is Turkish, the capital latin
letter "I" is transformed in toLowerCase to "ı" (see
https://github.com/JetBrains/kotlin/blob/66bc142f92085047a1ca64f9a291f0496e33dd98/libraries/stdlib/jvm/test/text/StringJVMTest.kt#L119 ),
which for example breaks the codegen for `intArrayOf` in
KT-25400/KT-43405.
Similarly, lower case latin letter "i" is transformed to "İ".
#KT-13631 Fixed
#KT-25400 Fixed
#KT-43405 Fixed
2020-12-28 16:10:30 +01:00
Dmitriy Dolovov
740b8a9aec
[Commonizer] Fix computing outer class type arguments
2020-12-24 15:55:36 +03:00
Dmitriy Novozhilov
c8f3a4802e
[TEST] Introduce test-infrastructure-utils module and extract common test utilities here
2020-12-16 19:52:22 +03:00
Andrei Klunnyi
3af0257b38
KTIJ-664 [SealedClassInheritorsProvider]: IDE-specific implementation
2020-12-15 18:43:00 +01:00
Dmitriy Dolovov
6e9ac6b333
[Commonizer] Internal tool for tracking memory usage
2020-12-15 09:48:27 +03:00
Dmitriy Novozhilov
55b0775565
[FE] Call SealedClassInheritorsProvider only for sealed classes
2020-12-14 10:43:14 +03:00
Dmitriy Dolovov
2be62c13b0
[Commonizer] Minor. Renamings
...
- Absent* -> Missing*
- Target -> CommonizerTarget
- Result -> CommonizerResult
- Parameters -> CommonizerParameters
2020-12-11 22:15:11 +03:00
Dmitriy Novozhilov
6809adee9c
[FE] Extract computation of sealed class inheritors into separate component
...
This is needed to provide more optimal provider in IDE plugin
2020-12-09 22:54:31 +03:00
Dmitriy Novozhilov
e76acc8ee0
[FE] Collect inheritors of sealed classes from new places in computeSealedSubclasses
...
#KT-13495
2020-12-09 22:54:24 +03:00
Dmitriy Dolovov
e5c46a86aa
[Commonizer] Minor. Rename file
2020-12-03 15:33:26 +03:00
Dmitriy Dolovov
daf42c1ee6
[Commonizer] Remove unnecessary nullability at CirKnownClassifiers.commonDependeeLibraries
2020-12-03 15:33:20 +03:00
Dmitriy Dolovov
68f8e88d8b
[Commonizer] Introduce various types of classifier caches
...
- New CirCommonizedClassifiers and CirForwardDeclarations caches
- New CirProvidedClassifiers cache with classifier names loaded from arbitrary modules
- CirClassifiersCache is replaced by CirKnownClassifiers umbrella
- Replace the remaining usages of 'isUnderStandardKotlinPackages' by delegation to
CirKnownClassifiers.commonDependeeLibraries
2020-12-03 13:11:40 +03:00
Dmitriy Dolovov
dce3d4d1b7
[Commonizer] Rename InputTarget and OutputTarget
...
Rename target classes to better reflect their meaning:
- InputTarget -> LeafTarget
- OutputTarget -> SharedTarget
2020-12-03 13:11:33 +03:00
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
Ilmir Usmanov
92f1681de0
Value classes: treat @JvmInline value classes as inline classes
...
Report error on value classes without @JvmInline annotation.
Do not check for @JvmInline annotation in value classes since
it breaks reflection.
2020-11-27 23:52:06 +01:00
Ilmir Usmanov
361ed117bb
Value classes: Add isValue property to class descriptors
...
Reuse isInline flag in proto and IR.
Check metadata version on deserialization.
2020-11-27 23:52:05 +01:00
Dmitriy Dolovov
c741284458
[Commonizer] Stricter processing of forward declarations
2020-11-26 10:57:11 +03:00
Dmitriy Dolovov
eca231a01d
[Commonizer] Extract CIR classifiers cache from the root node
2020-11-26 10:57:05 +03:00
Dmitriy Dolovov
8d9abed3dc
[Commonizer] Minor. More specific upper bounds for CirNodeWithClassId
2020-11-26 10:56:59 +03:00
Dmitriy Dolovov
0d50ccc42d
[Commonizer] Fix: Lost nullability in commonized type aliases
2020-11-19 16:47:24 +03:00
Dmitriy Dolovov
66bc142f92
[Commonizer] Empty sources/javadocs Jars
2020-11-17 19:02:18 +03:00
Dmitriy Dolovov
f5329b6f1d
[Commonizer] Don't publish sources and javadocs
2020-11-12 17:23:52 +03:00
sebastian.sellmair
06cb64bb51
Allow open callable members in expect interfaces
...
#KT-42094 fixed
2020-11-11 17:41:59 +00:00
Alexander Likhachev
2d2042ad12
[Gradle, K/N] Configuration cache support for compile & link with warns
...
#KT-43151 Fixed
2020-11-11 10:58:37 +03:00
Dmitriy Dolovov
734dff6282
[Commonizer] Use compact variants of collections to reduce memory footprint
2020-11-05 18:50:56 +03:00
Dmitriy Dolovov
30bf7b87fe
Minor. Code formatted
2020-11-05 18:50:50 +03:00