Mikhail Glukhikh
c50aa5f2ec
[FIR TEST] Bad test data changes due to Java signature transformation
...
Both changes are related to getOrDefault. We should either make Java
version low priority or remove it at all.
2020-10-23 08:12:16 +03:00
Mikhail Glukhikh
d3e85dbce0
[FIR] Implement replacing Object with type parameters for specials builtins
...
#KT-42601 Fixed
2020-10-23 08:12:15 +03:00
Mikhail Glukhikh
d40248cb53
[FIR] Extract computeJvmDescriptorReplacingKotlinToJava
2020-10-23 08:12:15 +03:00
Mikhail Glukhikh
f866eff93e
Extract special generic signatures to compiler.common.jvm to reuse in FIR
2020-10-23 08:12:15 +03:00
Mikhail Glukhikh
0e7acd6e8b
[FIR Java] Add better type parameter erasure for override matching
...
Around KT-42601
2020-10-23 08:12:15 +03:00
Mikhail Glukhikh
17de486c23
[FIR Java] Drop nasty code providing type parameter erasure
2020-10-23 08:12:14 +03:00
Alexander Likhachev
999627952a
[Gradle, K/N] Add proper assumptions for Mac only integration tests
2020-10-23 05:41:08 +03:00
Alexander Likhachev
ac7b7abcc0
[Gradle, JS] Fix K/JS project build with configuration cache (part 3)
...
Now configuration cache enabled builds with JS tasks does not fails but prints warning and skips execution on subsequent builds.
Relates to KT-42494
2020-10-23 05:41:07 +03:00
Igor Yakovlev
97d39c102a
Fix BWC for Search utils
2020-10-22 19:32:18 +03:00
Andrei Klunnyi
71023cd596
[KT-40688] Inlay Hints: inlay hints are duplicated on code editing
...
Code editing changes inlay hints offset.
InlayModel.getAfterLineEndElementsInRange(int, int) call didn't return
previously existed hint by its "outdated" offset. From now on hints are
taken by logical line.
2020-10-22 18:22:51 +02:00
Georgy Bronnikov
b7a07fdf03
Review fix: unify irTemporary variants
2020-10-22 18:31:23 +03:00
Georgy Bronnikov
8e331c8afe
IR: relax type cast for WrappedVariableDescriptor.containingDeclaration
2020-10-22 18:26:47 +03:00
Georgy Bronnikov
b588839752
EnumConstructorCall.fromSymbolDescriptor
2020-10-22 18:26:46 +03:00
Georgy Bronnikov
887dd10764
IR: remove descriptor usage
2020-10-22 18:26:46 +03:00
Georgy Bronnikov
e5cf7a1be7
Remove descriptor usage from Scope.kt
2020-10-22 18:26:46 +03:00
Leonid Startsev
8d999a2c13
Disable kx.ser plugin inside descriptors serialization in the IDE
...
Since IDE does not perform any serialization of descriptors, and
metadata written to the 'serializationDescriptorSerializer'
deleted only on call to DescriptorSerializer,
enabling this extension in the IDE effectively causes memory leaks.
#KT-39624 Fixed
Pass SerializationDescriptorSerializerPlugin to other extensions directly
instead of using static val in companion.
2020-10-22 17:14:06 +03:00
Leonid Startsev
4ec90b18bc
Rework DescriptorSerializerPlugin to be a part of Project's extensions
...
instead of statically registering it.
Static registering can cause subtle errors when plugin implementation
(e.g. SerializationDescriptorPluginForKotlinxSerialization) is registered
from multiple classloaders: in multi-module with daemon compilation scenario
#KT-41857 Fixed
2020-10-22 17:04:35 +03:00
Mikhail Glukhikh
ef907e0c46
Fix FIR IDE test broken by Jinseong commit
2020-10-22 16:53:12 +03:00
Mikhail Glukhikh
ad12cc296b
[FIR] Expand type before adding equality constraint
2020-10-22 15:38:30 +03:00
Alexander Gorshenev
7815529eed
[Private fake overrides] Tests for private fake overrides construction
2020-10-22 13:23:29 +03:00
Alexander Gorshenev
294e7dd902
[Private fake overrides] Renamed FakeOverrideBuilder object to FakeOverrideBuilderForLowering
2020-10-22 13:23:29 +03:00
Alexander Gorshenev
81c06b24f7
[Private fake overrides] Private fake overrides linkage
2020-10-22 13:23:28 +03:00
Alexander Gorshenev
223d1dd5e6
[Private fake overrides] Private fake override construction
2020-10-22 13:23:28 +03:00
Alexander Gorshenev
c90556a883
[Private fake overrides] FakeOverrideDeclarationTable for private fake override construction
2020-10-22 13:23:28 +03:00
Alexander Gorshenev
623f9a54c6
[Private fake overrides] Tweak DeclarationTable to be open
2020-10-22 13:23:27 +03:00
Alexander Gorshenev
c7ea8b1ab6
[Private fake overrides] Prepare IdSignature for private fake override construction
2020-10-22 13:23:27 +03:00
Mikhail Glukhikh
91089f5f7a
IrValidator: add more details to duplicate message for type parameter
2020-10-22 13:05:01 +03:00
Mikhail Glukhikh
44bb12480b
[FIR2IR] Forbid private fake overrides in generator
2020-10-22 13:05:00 +03:00
Mikhail Glukhikh
3663bc6be3
FirClassSubstitutionScope: eliminate second constructor to simplify code
2020-10-22 13:05:00 +03:00
Mikhail Glukhikh
80f8b5b234
IrValidator: mention file in exception message
2020-10-22 13:05:00 +03:00
Mikhail Glukhikh
23e7468e57
[FIR2IR] Cache Java field-based properties more correctly #KT-42805 Fixed
...
Before this commit, we cached such IR properties by FIR property
which was created by Java field each time when we referenced it.
This led to signature clashes. Now we cache such IR properties
directly by associated FIR field.
2020-10-22 13:05:00 +03:00
Mikhail Glukhikh
3576cbf0d8
[FIR] Add test for KT-42805
2020-10-22 13:04:59 +03:00
Mikhail Glukhikh
f2c651ec9c
[FIR2IR] Don't generate Any delegated members for data class
...
#KT-42771 Fixed
2020-10-22 13:04:59 +03:00
Mikhail Glukhikh
44459e8ac7
FIR mangler: fix alias-based type handling #KT-42770 Fixed
2020-10-22 13:04:58 +03:00
Victor Petukhov
6251568e17
Fix test after 84129098cb
2020-10-22 12:17:26 +03:00
Mikhail Glukhikh
289efd47b2
[FIR2IR] Cleanup code around implicit casts
2020-10-22 11:03:48 +03:00
Juan Chen
620a5d404d
[FIR2IR] Keep redundant cast on 'this' for local anonymous function
...
#KT-42517 Fixed
2020-10-22 10:51:23 +03:00
Jinseong Jeon
f4531b0f34
FIR: set missed source in various FirElements
...
This could be caught by debuggability tests, such as stepping tests,
which are not enabled for FIR yet.
Instead, for now, full pipeline tests will raise index out-of-bound
errors due to the undefined offsets, which stem from null source.
2020-10-22 10:51:21 +03:00
Jinseong Jeon
46cc01602e
FIR2IR: add implicit NOT_NULL cast if needed
2020-10-22 10:51:20 +03:00
Sergey Bogolepov
eeda48e63e
Allow prefix and relative path in resolvable properties.
...
It allows us to move more logic to konan.properties from ClangArgs.
E.g., something like `-$absoluteTargetSysRoot/usr/include/c++/4.9.4`
2020-10-22 12:45:49 +07:00
Victor Petukhov
84129098cb
Add equality constraints without subtyping
...
^KT-42195 Fixed
^KT-41741 Fixed
2020-10-21 21:23:13 +03:00
Dmitry Petrov
b1b87becc8
PSI2IR more JVM-like exhaustive when behavior KT-36840
2020-10-21 20:07:11 +03:00
Ilya Goncharov
7edeccbdc7
Move labeling into NameTables with labeling loops which contain escaped break
...
^KT-42262 fixed
2020-10-21 16:59:24 +03:00
Ilya Goncharov
400a15e3d6
Add lowering on switch in loop
...
^KT-42262 fixed
2020-10-21 16:59:24 +03:00
Ilya Goncharov
14d9aa1660
Add test on break in when without label
...
^KT-42262 fixed
2020-10-21 16:59:24 +03:00
pyos
a4b67f007f
JVM_IR: treat suspend-converted references as lambdas for inlining
...
Again, this is consistent with adapted function references, since
they're pretty much the same anyway.
2020-10-21 15:21:01 +02:00
pyos
12bec7cca2
JVM_IR: when convering references to lambdas, bind the receiver
...
instead of storing it into a captured temporary.
This makes the resulting lambdas equivalend to adapted function
references produced by PSI2IR or FIR2IR.
#KT-42492 Fixed
2020-10-21 15:21:01 +02:00
pyos
95fb597da0
PSI2IR / FIR2IR: bind FunctionN as receiver when suspend-converting
...
This is more consistent with adapted references & allows skipping a
temporary variable.
2020-10-21 15:21:01 +02:00
pyos
ccf921510d
PSI2IR / FIR2IR: do not create temporaries for adapted references
...
Arguments to function references behave the same as arguments to
function calls and should be evaluated once regardless, so the temporary
is unnecessary.
2020-10-21 15:21:01 +02:00
Alexander Udalov
369056ca5d
Minor, add explicit type argument to workaround KT-42175
2020-10-21 15:19:25 +02:00