Jinseong Jeon
f94dad7005
FIR IDE: migrate annotation parameter conversion util
2021-09-23 00:11:26 +02:00
Jinseong Jeon
0f16a2cb92
FIR IDE: rename some of constant values for consistency
2021-09-23 00:11:25 +02:00
Jinseong Jeon
ce445700b8
FIR IDE: split conversion utils for KtConstantValue to its own object
2021-09-23 00:11:25 +02:00
Jinseong Jeon
4c8d975ae5
FIR LC: handle more kinds of annotation values
2021-09-23 00:11:25 +02:00
Jinseong Jeon
6ef2dad895
FIR IDE: more comprehensive abstractions of annotation values
2021-09-23 00:11:25 +02:00
Jinseong Jeon
fe41c4513f
LC: weaken condition to lookup nested annotation
...
FIR LC has a different abstraction, so using the specific class name is
literally too specific to FE 1.0 LC.
We could introduce a common interface for those, but checking
`kotlinOrigin` is good enough, and thus type-checking their common
ancestor is good enough too.
2021-09-23 00:11:25 +02:00
Jinseong Jeon
744961bd00
FIR IDE: test resolution of various annotation values
2021-09-23 00:11:25 +02:00
Jinseong Jeon
150f066254
FIR LC: use property modifiers for backing field if lateinit
2021-09-23 00:11:25 +02:00
Svyatoslav Kuzmich
a2bfcfeae8
[Wasm] Do not erase interfaces down to Any type in Wasm signature.
...
This enables overloading virtual methods with different interface types
2021-09-22 19:49:44 +03:00
Svyatoslav Kuzmich
6db7154876
[Wasm] Build bridges for non-virtual functions that implement interfaces
2021-09-22 19:49:43 +03:00
Steven Schäfer
1eb9a5a86d
JVM IR: Don't generate bridges for default argument stubs (KT-46389)
2021-09-22 18:45:54 +02:00
Ilya Gorbunov
40b5a7d449
Provide infix compareTo extension for Comparable<T> #KT-46423
2021-09-22 15:56:27 +00:00
Tianyu Geng
44e0efc23c
FIR: fix run config after Analysis API refactoring
2021-09-22 15:47:13 +02:00
Abduqodiri Qurbonzoda
eccd035881
Upgrade kotlinx-html-js version to 0.6.12 in gradle plugin tests because of #KT-24782
2021-09-22 12:56:12 +00:00
Steven Schäfer
cb46a56815
Parcelize: Support unsigned array types
...
See https://issuetracker.google.com/200774823
2021-09-22 13:42:04 +02:00
Steven Schäfer
2501013012
Parcelize: Support ShortArray
...
ShortArrays are broken in the Parcelize JVM backend, which caused a
frontend error on the JVM IR backend.
2021-09-22 13:42:04 +02:00
Leonid Startsev
f033d3d5b7
Remove ignored dexing in tests after it was fixed
...
by rewriting IR codegen (https://github.com/JetBrains/kotlin/pull/3986/files#diff-9fe05d2f7c421d566cd1294a191d5a2e8f6e6f7a5f6b638542b79369caf91d4eR454 )
2021-09-22 11:41:13 +00:00
Yahor Berdnikau
24d088242c
Use JVM toolchain for buildSrc module.
...
Before this change buildSrc module was compiled with current user JDK.
For example on CI it is JDK 1.8. But when the user is using JDK
different from 1.8, buildSrc compilation misses remote build cache. This
may lead to full project recomplilation on the user side.
2021-09-22 11:35:07 +00:00
Ilya Kirillov
d3dd9cd078
Analysis API: add KDoc to providers
2021-09-22 12:57:18 +02:00
Ilya Kirillov
fb8044641b
LL API: move DeclarationCopyBuilder out of public API
2021-09-22 12:57:16 +02:00
Ilya Kirillov
7c0a9230fd
LL API: remove empty files
2021-09-22 12:57:16 +02:00
Ilya Kirillov
083dcc4ec6
Analysis API: refactoring, separate AbstractCompilerBasedTest.kt into multiple files
2021-09-22 12:57:15 +02:00
Ilya Kirillov
678b931ba3
Analysis API: introduce Project Structure
2021-09-22 12:57:14 +02:00
Svyatoslav Scherbina
c9348b3512
Native: improve "could not build module" cinterop error message
...
Extract diagnostics from imported modules by instructing libclang to
serialize diagnostics to file. Then deserialize this file and use
first compilation errors in the error message.
^KT-35059 Fixed
2021-09-22 07:31:23 +00:00
Svyatoslav Scherbina
12f4cd5aa1
Native: add unit tests for modules support in Interop/Indexer
2021-09-22 07:31:22 +00:00
Svyatoslav Scherbina
fb81ae0cd1
Native: fix deadlock in kotlinx.cinterop.typeOf impl for JVM
...
Don't use ConcurrentHashMap.computeIfAbsent for typeOf cache,
because the computation may call typeOf recursively for different type
(e.g. C enum var type computation calls typeOf for enum base integer type),
which might cause a deadlock in computeIfAbsent.
2021-09-22 07:31:22 +00:00
sebastian.sellmair
a279f682bb
[Commonizer] Add additional documentation to ClassOrTypeAliasTypeCommonizer
...
^KT-48288
2021-09-22 06:45:12 +00:00
sebastian.sellmair
6d17e4da57
[Commonizer] Implement disabled tests for ^KT-48288
...
^KT-48288
^KT-48850
2021-09-22 06:45:11 +00:00
sebastian.sellmair
104d2b347b
[Commonizer] Minor: CirType: Use copyInterned over createInterned
...
^KT-48288
2021-09-22 06:45:11 +00:00
sebastian.sellmair
3b67bcbf4d
[Commonizer] ClassOrTypeAliasTypeCommonizer: Remove faulty argument substitution
...
Underlying types from CirTypeAliasType do not require
parent argument replacement.
^KT-48288
2021-09-22 06:45:11 +00:00
sebastian.sellmair
7bf62ab159
[Commonizer] Implement tests for 'crossed' type aliases
...
^KT-48288
2021-09-22 06:45:10 +00:00
sebastian.sellmair
1fca19258d
[Commonizer] ParameterizedTypesCommonizationTest: Remove unnecessary symbols
...
^KT-48288
2021-09-22 06:45:10 +00:00
sebastian.sellmair
fa2577dda8
[Commonizer] Improve performance of deserialization
...
^KT-48288
2021-09-22 06:45:09 +00:00
sebastian.sellmair
16bf5f3df3
[Commonizer] Improve performance of ClassOrTypeAliasTypeCommonizer
...
Performance is improved by reducing calls to 'backwardsTypeDistance'
^KT-48288
2021-09-22 06:45:09 +00:00
sebastian.sellmair
64d2ba4029
[Commonizer] Improve performance of 'backwardsTypeDistance'
...
This commit also introduces common sealed interfaces to represent
classifiers and types coming form dependencies or 'sources'
^KT-48288
2021-09-22 06:45:09 +00:00
sebastian.sellmair
fadb91fa35
[Commonizer] Rename CirCommonClassifierId to AssociatedClassifierIds
...
^KT-48288
2021-09-22 06:45:08 +00:00
sebastian.sellmair
de1ae970d7
[Commonizer] ClassOrTypeAliasTypeCommonizer: Improve comments
...
^KT-48288
2021-09-22 06:45:08 +00:00
sebastian.sellmair
7485d2529b
[Commonizer] Implement simple BackwardsTypeSubstitutionCommonizationTest
...
^KT-48288
2021-09-22 06:45:07 +00:00
sebastian.sellmair
38c7337b19
[Commonizer] Add tests to ParameterizedTypesCommonizationTest
...
^KT-48288
2021-09-22 06:45:07 +00:00
sebastian.sellmair
e1bc6c54d7
[Commonizer] Simplify CirClassOrTypeAliasType.withParentArguments()
...
^KT-48288
2021-09-22 06:45:07 +00:00
sebastian.sellmair
459e01a729
[Commonizer] CirConversions: Ensure consistent function names
...
^KT-48288
2021-09-22 06:45:06 +00:00
sebastian.sellmair
892512cb67
[Commonizer] Remove unused/old typeAliasUtils
...
^KT-48288
2021-09-22 06:45:06 +00:00
sebastian.sellmair
ba997905d9
[Commonizer] Remove CirClassType.visibility
...
^KT-48288
2021-09-22 06:45:05 +00:00
sebastian.sellmair
da1eb5d96e
[Commonizer] Implement CirTypeDistance.penalty
...
^KT-48288
2021-09-22 06:45:05 +00:00
sebastian.sellmair
d0cd7c81ea
[Commonizer] Minor: Change signature of CirConversions functions
...
^KT-48288
2021-09-22 06:45:05 +00:00
sebastian.sellmair
75d7c830e7
[Commonizer] Minor: Improve naming of methods and types
...
^KT-48288
2021-09-22 06:45:04 +00:00
sebastian.sellmair
808ea11072
[Commonizer] Improve access performance for TargetDependent
...
^KT-48288
2021-09-22 06:45:04 +00:00
sebastian.sellmair
cf0f061db5
[Commonizer] Implement two phased re-approximation
...
^KT-48288
2021-09-22 06:45:03 +00:00
sebastian.sellmair
b68f14960a
[Commonizer] Implement first ReApproximationCirNodeTransformer
...
^KT-48288
2021-09-22 06:45:03 +00:00
sebastian.sellmair
d2627f0a76
[Commonizer] CirCommonClassifierIdResolver: Implement caching as composition
...
^KT-48288
2021-09-22 06:45:03 +00:00