Alexander Udalov
069e040af9
Fix warnings in kotlin-klib-commonizer
2021-08-06 22:37:00 +02:00
sebastian.sellmair
4ae51e1d02
[Gradle] AbstractCInteropCommonizerTask: Ensure outputDirectory path is unique and short enough
...
^KT-47056 Verification Pending
2021-08-02 20:38:27 +00:00
sebastian.sellmair
02d4c866ca
[Gradle] CInterop commonization: Improve grouping and dependency management
...
^KT-47775 Verification Pending
This implementation will be lenient toward the common
*Test.dependsOn(*Main) mistake.
^KT-47053 Verification Pending
Support source sets that do not have a dedicated
shared native compilation. Also support additional visible source sets
coming from associate compilations.
2021-08-02 20:38:26 +00:00
Mikhael Bogdanov
228100ef09
Upgrade toolchain to api/lv 1.4
2021-07-29 19:45:53 +02:00
Leonid Startsev
83c1a75c1e
Revert "Revert "Instantiation of annotations for JVM IR with the corresponding feature flag""
...
Fix incorrectly rebased ce0a3a57df
This reverts commit 3d0126d5
2021-07-21 18:24:07 +03:00
Leonid Startsev
3d0126d5dd
Revert "Instantiation of annotations for JVM IR with the corresponding feature flag"
...
because of incorrect rebase
This reverts commit ce0a3a57
2021-07-21 15:23:24 +03:00
Leonid Startsev
ce0a3a57df
Instantiation of annotations for JVM IR with the corresponding feature flag
...
Seperate checker for platforms that do not support this language feature yet
Synthetic implementations of annotations are generated on-demand with proper
equals, hashCode, and annotationType methods
#KT-47699 Fixed
2021-07-21 10:23:51 +00:00
sebastian.sellmair
9500b2d36e
[Commonizer] Add HierarchicalCInteropCallableAnnotationCommonizationTest.test single platform not marked as objc
2021-07-15 10:04:45 +00:00
sebastian.sellmair
17ed498390
[Commonizer] approximationKeys: Fix closing ] for type parameter types' upper bounds
2021-07-15 10:04:45 +00:00
sebastian.sellmair
daa046589e
[Commonizer] approximationKeys: Minor cleanup of buildApproximationSignature
2021-07-15 10:04:44 +00:00
sebastian.sellmair
2c8ce2539b
[Commonizer] HierarchicalPropertyCommonizationTest: Add test property with and without setter
2021-07-15 10:04:43 +00:00
sebastian.sellmair
8bab6c3076
[Commonizer] Commonize 'val' and 'var' properties
...
If a setter is not present on all platforms a fallback private setter
shall be emitted.
^KT-47502 Verification Pending
^KT-47691 Verification Pending
2021-07-15 10:04:43 +00:00
sebastian.sellmair
c4d90dc744
[Commonizer] Implement alis type substitution as CirNodeTransformer
...
This has the advantage, that the substitution only has to run on
functions or properties that are 'incomplete' (missing at least
one other target declaration)
^KT-47433 Verification Pending
2021-07-15 10:04:42 +00:00
sebastian.sellmair
7c450f9884
[Commonizer] Implement CirAliasTypeSubstitutor
...
This will substitute non-commonizable classifiers with known
type-aliases (which might be commonizable).
A simple example depending on this substitution comes from posix:
Most function and properties use the `FILE` typealias which
is available across all platforms.
Some linux platforms use `__IO_FILE` in their signature, which
is just linux specific. This type substitution will figure out, that
this type can be substituted with `FILE`.
^KT-47433 Verification Pending
2021-07-15 10:04:41 +00:00
sebastian.sellmair
906346b7d9
[Commonizer] Drop CirProperty interface for plain data class
2021-07-15 10:04:41 +00:00
sebastian.sellmair
f0feca286e
[Commonizer] Drop CirExtensionReceiver interface for plain data class
2021-07-15 10:04:40 +00:00
sebastian.sellmair
fdee49ee59
[Commonizer] Drop CirTypeParameter interface for plain data class
2021-07-15 10:04:39 +00:00
sebastian.sellmair
4a4516731a
[Commonizer] Drop CirValueParameter interface for plain class
2021-07-15 10:04:39 +00:00
sebastian.sellmair
e246a12cd3
[Commonizer] Drop CirFunction interface for plain data class
2021-07-15 10:04:38 +00:00
sebastian.sellmair
0c32abed02
[Commonizer] Remove now unnecessary ArtificialCirDeclaration
...
This marker interface is not necessary anymore, since no new actuals
will be generated by the Commonizer. It was used to filter declarations
during the serializ
2021-07-15 10:04:37 +00:00
sebastian.sellmair
e041532dd2
[Commonizer] InlineSourceBuilder: Also mark ModuleBuilder functions with InlineSourcesCommonizationTestDsl
2021-07-15 10:04:37 +00:00
sebastian.sellmair
87ac436a35
[Commonizer] Implement HierarchicalCInteropCallableAnnotationCommonizationTest
2021-07-15 10:04:36 +00:00
sebastian.sellmair
8acfeb3e17
[Commonizer] Remove computing signatures from metadata
2021-07-15 10:04:36 +00:00
sebastian.sellmair
f3ff9814a8
[Commonizer] Create approximation keys based on Cir instead of metadata
2021-07-15 10:04:35 +00:00
Dmitriy Novozhilov
11faf04a4c
[Test] Remove dependencies on IDEA classes from test modules
...
Some of IDEA services (like in `com.intellij/execution`) was copied,
because they are used in tests but jars with them compiled with
jdk 11 and we run our tests on jdk 8, so their bytecode can not
be read
2021-07-08 13:29:19 +03:00
sebastian.sellmair
5b5dddc2d1
[Commonizer] Restore TypeAliasCommonizer's Commutative property & TypeAliasTypeCommonizer: substitute underlying-type arguments
...
^KT-47574 The fix done here supports only one level of substituting
underlying type-arguments.
HierarchicalTypeAliasCommonizationTest.`KT-47574 - test long typealias chain`
will assert proper behaviour for nested chains.
2021-07-05 09:00:46 +00:00
sebastian.sellmair
448302d19b
[Commonizer] CommonizeNativeDistributionTest.commonize - apple platforms(): Require macos
2021-07-05 09:00:45 +00:00
sebastian.sellmair
1e801e77a2
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Remove unnecessary annotations and reformat file
2021-07-05 09:00:44 +00:00
sebastian.sellmair
684e51b0be
[Commonizer] Implement TypeCommonizer as AssociativeCommonizer
2021-07-05 09:00:44 +00:00
sebastian.sellmair
b29fd17d26
[Commonizer] Use AssociativeCommonizer signature to implement ClassOrTypeAliasTypeCommonizer
...
This drastically improves performance for now, since the previous
Adapter implementation was at least O(n^2). While the Adapter
implementation could have been reduced to O(n), the Signature of
StatelessCommonizer was misleading.
StatelessCommonizer will be introduced back later when other
Commonizer implementations are ready to be converted to a new
Signature.
2021-07-05 09:00:43 +00:00
sebastian.sellmair
20f55ef0b7
[Commonizer] Commonize 'const val' and 'val' properties
2021-07-05 09:00:42 +00:00
sebastian.sellmair
9794068f22
[Commonizer] typeAliasUtils: computeSuitableUnderlyingType: Consider commonized type-aliases
2021-07-05 09:00:42 +00:00
sebastian.sellmair
5ca81b01f0
[Commonizer] Improve AbstractCommonizerTest diagnostic message
2021-07-05 09:00:41 +00:00
sebastian.sellmair
d7022cb378
[Commonizer] Move ClassTypeCommonizer and TypeAliasTypeCommonizer into seperate files
2021-07-05 09:00:40 +00:00
sebastian.sellmair
8f73df0f85
[Commonizer] Implement new ClassOrTypeAliasTypeCommonizer
...
^KT-47432 Verification Pending
^KT-47434 Verification Pending
2021-07-05 09:00:39 +00:00
sebastian.sellmair
8e2780345c
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Un-ignore tests fore ^KT-47432 and ^KT-47434 and add additional test's
2021-07-05 09:00:39 +00:00
sebastian.sellmair
b2dda0769c
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Ignore tests for ^KT-47434
2021-06-25 09:25:11 +00:00
sebastian.sellmair
c234999c09
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Ignore tests for ^KT-47433
2021-06-25 09:25:10 +00:00
sebastian.sellmair
815d71a923
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Ignore tests for ^KT-47432
2021-06-25 09:25:10 +00:00
sebastian.sellmair
eaa0eb2851
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Add function parameter tests
2021-06-25 09:25:09 +00:00
sebastian.sellmair
4bcae0cc6f
[Commonizer] Add CommonizeNativeDistributionTest.commonize - unix platforms()
2021-06-25 09:25:08 +00:00
sebastian.sellmair
1adf8091b1
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Add tests for issues found during okio investigation
2021-06-25 09:25:07 +00:00
sebastian.sellmair
7535f142c0
[Commonizer] SetExtensions: isSubsetOf: Use == over identity check
...
^KT-47301
2021-06-23 13:43:46 +00:00
sebastian.sellmair
ae57641456
[Commonizer] deserializeCirTree.kt: Optimize imports
...
^KT-47301
2021-06-23 13:43:45 +00:00
sebastian.sellmair
a643ce89ff
[Commonizer] Add CommonizerQueueTest.test diamond output targets()
...
^KT-47301
2021-06-23 13:43:44 +00:00
sebastian.sellmair
770efb7ecb
[Commonizer] Replace InputTargetsSelectorInterface with a simple function
...
^KT-47301
2021-06-23 13:43:43 +00:00
sebastian.sellmair
73ffc0d180
[Gradle] NativeDistributionCommonizationCache: Support associative commonization
...
^KT-47301
2021-06-23 13:43:38 +00:00
sebastian.sellmair
21cef41ba5
[Commonizer] AbstractCommonizationFromSourcesTest remove assertions on commonized leaf/platform libraries
...
Those assertions are not necessary anymore, since the commonizer is not
expected to produce any new "actuals" per given expect.
The IDE is supposed to analyze leaf source sets against the original
platform libraries.
2021-06-23 13:43:37 +00:00
sebastian.sellmair
42f60d981f
[Commonizer] Implement associative commonization
...
^KT-47301 Verification Pending
2021-06-23 13:43:36 +00:00
sebastian.sellmair
70924f6c15
[Commonizer] Link ticket ^KT-47100 in HierarchicalPropertyCommonizationTest
2021-06-07 09:07:43 +00:00