Mikhail Glukhikh
9ea69b4b3c
Introduce first version of FirJvmKotlinMangler & its parts
2020-06-02 18:47:50 +03:00
Mikhail Glukhikh
a239604c24
Rename & make public: Collection.collect -> collectForMangler
2020-06-02 18:43:16 +03:00
Mikhail Glukhikh
ecb48b7ed9
[FIR2IR] Support callables in signature composer
2020-06-02 18:43:16 +03:00
Mikhail Glukhikh
05d160b130
Revert "IR linked: introduce IrElement.isExpectMember instead of descriptor use"
...
This reverts commit 4b47eb35
2020-06-02 16:14:27 +03:00
Mikhail Glukhikh
72dd2ef448
[FIR] Fix CFG building for secondary constructor with delegation
2020-06-02 16:12:32 +03:00
Mikhail Glukhikh
b40709649d
[FIR TEST] Add more detailed CFG inconsistency message
2020-06-02 16:12:27 +03:00
Mikhail Glukhikh
718f0240a1
[FIR TEST] Add problematic CFG test
2020-06-02 16:12:21 +03:00
Igor Chevdar
e41b5fc1c6
[IR] Turned on a test for K/N + minor refactoring
...
NothingValueException has already been supported in K/N
2020-06-02 14:50:17 +05:00
Jinseong Jeon
6eb21031b2
FIR JVM serializer: serialize property signature
2020-06-02 12:00:52 +03:00
Dmitriy Novozhilov
069adebf01
[NI] Fix checking for inline lambdas without candidate
...
#KT-34506
2020-06-01 23:40:32 +03:00
Abduqodiri Qurbonzoda
55eb75d237
Remove IGNORE_BACKEND directives from forInCharSeqWithIndexStops.kt
2020-06-01 22:00:37 +03:00
Yunir Salimzyanov
77608c8785
Add temporary fixMeExtensions to pass test on extensions check (KTI-240)
2020-06-01 18:43:11 +03:00
Yunir Salimzyanov
3b9000cc0c
Cleanup 191 extension files (KTI-240)
2020-06-01 18:43:10 +03:00
Yunir Salimzyanov
7ab7ca5ff0
Cleanup as35 extension files (KTI-240)
2020-06-01 18:43:10 +03:00
Leonid Startsev
02bd8cbd6b
Use SYNTHETIC_OFFSET instead of UNDEFINED
...
because Native's debug information does not accept undefined offsets
2020-06-01 17:48:17 +03:00
Leonid Startsev
7c8c5b057f
Extensible mechanism for plugin metadata during descriptor serialization
...
A mechanism that allows kotlinx.serialization plugin to preserve the
correct (program) order of properties after serializing/deserializing
descriptors to kotlin metadata, which is needed for correct and stable
json serialization of class hierarchies in incremental/multi-module scenario.
It uses protobuf extensions.
2020-06-01 17:48:16 +03:00
Victor Petukhov
8d05253369
NI: take into account effective variance during adding constraints from LHS instead of only use site variance
...
^KT-39220 Fixed
2020-06-01 17:24:49 +03:00
Dmitry Petrov
246c68b0a9
PSI2IR: Don't generate IMPLICIT_INTEGER_COERCION
...
Generate integer coercion function calls and properly typed constant
expressions instead.
2020-06-01 16:51:47 +03:00
Juan Chen
bfac0355bf
WIP: [FIR] unmute testKt14227 with FULL_JDK
...
The test used to fail because it has an augmented assignment for
elements in a HashMap of Strings, and "plus" fails to resolve due to
ambiguity: besides String.plus, BigDecimal.plus in the standard
library is also considered. BigDecimal is not resolved and thus
isError returns true. During type checking, the context has
isErrorTypeEqualsAnything set to true, and BigDecimal is now regarded
as a super type of String and BigDecimal.plus is a valid
candidate. Adding the directive "FULL_JDK" enables resolving of
BigDecimal so that BigDecimal.plus is excluded.
2020-06-01 16:47:15 +03:00
Mikhail Zarechenskiy
f073e34926
Update forgotten test-data
2020-06-01 15:35:24 +03:00
Jinseong Jeon
4a511c7721
FIR: extend arrayOf call transformation to other variants
2020-06-01 10:45:42 +03:00
Mikhail Zarechenskiy
7ec8716d65
Introduce HTML redenred version for compatibility warning
2020-06-01 10:19:36 +03:00
Mikhail Zarechenskiy
569b6eaff2
Don't issue compatibility warning for the candidates in the same group
2020-06-01 10:19:35 +03:00
Mikhail Zarechenskiy
f922e454f9
Don't propagate compatibility resolve from callable reference arguments
2020-06-01 10:19:35 +03:00
Mikhail Zarechenskiy
599f520fd8
Add compatibility warning for chained sam->suspend-conversion
2020-06-01 10:19:35 +03:00
Mikhail Zarechenskiy
a5203428a4
Replace resolution error for suspend-conversion with call checker error
2020-06-01 10:19:34 +03:00
Mikhail Zarechenskiy
eaeaf3c8a3
Add compatibility warning for suspend conversions
2020-06-01 10:19:33 +03:00
Mikhail Zarechenskiy
47e6805186
Add compatibility warning for reference adaptation
2020-06-01 10:19:33 +03:00
Mikhail Zarechenskiy
684dfb959c
Don't write any COERCION_STRATEGY for Unit to Unit return types
2020-06-01 10:19:33 +03:00
Mikhail Zarechenskiy
03358c61d4
Add compatibility warning for SAM conversions
2020-06-01 10:19:33 +03:00
Mikhail Zarechenskiy
01de789c76
Add compatibility warning for SAM conversions on Kotlin functions
2020-06-01 10:19:32 +03:00
Mikhail Zarechenskiy
ea6a8ce5cd
Rename language feature to make it more clear
2020-05-31 18:13:17 +03:00
Mikhail Zarechenskiy
0ab9b3639b
Approximate types for lambda literals before serialization
2020-05-31 17:38:18 +03:00
Mikhail Zarechenskiy
366ed7d4ca
Minor: reformat fakeDescriptorsForReferences.kt
2020-05-31 17:38:17 +03:00
Alexander Gorshenev
a112f8acb6
Moved symbol table emptiness assertion to later places,
...
so that the assert doesn't trigger in the plugin context
2020-05-31 06:00:33 +03:00
Alexander Gorshenev
5e56a52f94
Properly update modality and visibility of property accessors on fake override creation
2020-05-31 06:00:33 +03:00
Alexander Gorshenev
4dd159d4ec
Added another fake override validation pass after IR plugins
2020-05-31 06:00:32 +03:00
Alexander Gorshenev
46e3649bd0
Moved all things related to fake overrides to a single directory
2020-05-31 06:00:32 +03:00
Alexander Gorshenev
06abbe468b
Signature based fake override validation
2020-05-31 06:00:32 +03:00
Alexander Gorshenev
024385cbbd
Construct fake overrides after IR deserialization
2020-05-31 06:00:32 +03:00
Alexander Gorshenev
ee1ea15684
Adapted descriptor fake override construction from OverridingUtil.java to IR as IrOverridingUtil.kt
2020-05-31 06:00:32 +03:00
Alexander Gorshenev
2828aa9ce8
Typechecker and visibility utils for fake overrides
2020-05-31 06:00:32 +03:00
Alexander Gorshenev
789efc7c3a
Created a deep copier good for fake overrides.
...
Adapted it from inliner copier.
It is capable of producing type substituted members.
2020-05-31 06:00:31 +03:00
Alexander Gorshenev
63429c088f
Introduced IrFakeOverrideFunctionImpl and IrFakeOverridePropertyImpl
2020-05-31 06:00:31 +03:00
Alexander Gorshenev
20dedd53ff
Got rid of LazyIrProvider. It is not used anymore
2020-05-31 06:00:31 +03:00
Alexander Gorshenev
756f7076f6
Got rid of duplicates in resolveFakeOverrides implementations
2020-05-31 06:00:31 +03:00
Yunir Salimzyanov
4e732b7ba2
Wrap parametrized tests with muteWithDatabase
...
Cause: should correctly run muted tests in database (KTI-216)
2020-05-30 22:50:34 +03:00
Yunir Salimzyanov
8d51b027ed
Add annotation to prevent test invocation twice
...
Cause: it helps to fix double inversion of muted non-flaky tests result
(KTI-216).
2020-05-30 22:50:34 +03:00
Yunir Salimzyanov
a256e75909
Run muted non-flaky tests and invert their result (KTI-216)
...
Cause: if mutedInDatabase test is failing then test result = success
else test result = failure (because now it should be unmuted)
2020-05-30 22:50:33 +03:00
Yunir Salimzyanov
cfb8763b33
Remove redundant Runner logic
2020-05-30 22:50:33 +03:00