Ilmir Usmanov
dfd7f33bd3
Minor. Add test with reified type parameter
2020-09-17 16:14:07 +02:00
Ilmir Usmanov
9ecf5dc9af
Support is/as operations on suspend callable reference conversion
2020-09-17 16:14:04 +02:00
Jinseong Jeon
d1ba69044e
FIR: update the type of anonymous function as SAM
2020-09-17 12:45:26 +03:00
Ilmir Usmanov
f960201f52
Ignore type parameters of inline class
...
when checking whether we can return unboxed inline class
from suspend function
2020-09-17 11:20:48 +02:00
Dmitry Petrov
fbfe56e0cc
JVM_IR KT-41915 compare Kotlin signatures when adding collection stubs
2020-09-17 11:37:29 +03:00
Jinseong Jeon
72dea05854
FIR2IR: approximate type argument if reified
2020-09-17 09:43:46 +03:00
Jinseong Jeon
721248f883
FIR: migrate type-related utils to relevant file
2020-09-17 09:32:52 +03:00
Mikhail Glukhikh
0436a555d5
[FIR serializer] Support type approximation
...
Before this commit we relied on a fact that exotic types aren't
possible at serialization stage. However, in non-ABI mode we can get
even a private function (e.g. top-level private), so we have to perform
this approximation.
2020-09-17 09:19:34 +03:00
Mikhail Glukhikh
94a30ff904
[FIR] Drop redundant type check
2020-09-17 09:16:00 +03:00
Roman Artemev
4da7e762fe
[IR] Skip hidden parameters in WrappedDescriptors
2020-09-17 00:57:17 +03:00
Roman Artemev
1da2830e2b
[IR] Support hidden parameters in ir builder
2020-09-17 00:57:16 +03:00
Roman Artemev
b84084d54e
[IR] Support hidden parameters in IrMangler
...
- make them be skipped in signature
2020-09-17 00:57:16 +03:00
Roman Artemev
8209b70a2f
[KLIB] Support isHidden flag in deserialization
2020-09-17 00:57:16 +03:00
Roman Artemev
83d6255294
[KLIB] Support isHidden in proto flags
2020-09-17 00:57:16 +03:00
Roman Artemev
f01941d1dd
[IR] Support isHidden is IrFactory API
...
- add API to create a hidden value parameter
2020-09-17 00:57:16 +03:00
Roman Artemev
79e2886da1
[IR] Add isHidden flag into IrValueParameter
2020-09-17 00:57:15 +03:00
pyos
9b157fd291
JVM_IR: remove a descriptor-related hack from InterfaceLowering
...
It will break with FIR.
2020-09-16 18:58:40 +02:00
pyos
dd913ef450
JVM_IR: move common metadata serialization code to ClassCodegen
2020-09-16 18:58:40 +02:00
pyos
a06181771f
IR: make DescriptorMetadataSource a subtype of MetadataSource
...
FirMetadataSource is a metadata source too.
2020-09-16 18:58:40 +02:00
Лихолетов Михаил
cfc1ebb4be
[FIR] Support several annotation argument diagnostics
2020-09-16 16:53:31 +03:00
Mikhail Glukhikh
0c13d3197c
[FIR] Fix non-serializable type argument at the end of resolve
2020-09-16 16:53:29 +03:00
Dmitry Petrov
54d5494ecd
JVM_IR special handling for 'remove' collection method stub
2020-09-16 15:36:16 +03:00
Alexey Tsvetkov
c56952a01e
Provide message collector for Java IC analysis
...
#KT-37446 Fixed
2020-09-16 14:04:51 +03:00
Victor Petukhov
17db188b0e
Add regression test for already fixed issue KT-41396
2020-09-16 14:02:32 +03:00
Alexander Udalov
f6187b9d64
Remove dependency of fir:tree:tree-generator on kotlin-reflect
...
This dependency was unused. It allows to avoid waiting for compiling
kotlin-reflect (which includes descriptors, deserialization, etc.)
before compiling FIR modules and thus improves total build time.
2020-09-15 19:59:14 +02:00
Ilmir Usmanov
58146c4452
Keep DebugMetadata annotation when regenerate lambda with state-machine
...
When a suspend lambda does not capture crossinline lambda, it is
generated with as state-machine, since it does not inline anything.
However, when regenerating, the inliner used to remove all DebugMetadata
annotations to avoid duplication. This lead to missing annotation if
the lambda is regenerated, but state-machine is not regenerated.
This change fixes the blind spot by readding the annotation after
regeneration.
#KT-41789 Fixed
2020-09-15 19:57:02 +02:00
Victor Petukhov
8cabfda832
Add regression test for already fixed issue KT-41885
2020-09-15 19:03:16 +03:00
Pavel Kirpichenkov
b102042dd8
Minor: add regression test for KT-41806
2020-09-15 10:52:47 +03:00
Jinseong Jeon
2fad935ce2
FIR deserializer: load inline/external flags properly
2020-09-15 10:21:35 +03:00
Sergey Bogolepov
2154c94100
[Native] Add tests for resolvable properties
2020-09-15 13:54:10 +07:00
Sergey Bogolepov
5a0a853d9b
[Native] Add simple symbol mechanism to konan.properties
...
Java Properties format is extremely trivial and does not support any
kind of references or variables. It makes konan.properties repetitive.
This commits adds support of perl-like `$` sigil which allows to
reference properties inside values.
2020-09-15 13:54:09 +07:00
Pavel Punegov
fc35b5398c
Mute test in Native
2020-09-14 23:41:47 +03:00
Mikhail Glukhikh
97ebf2867a
[FIR] Get rid of type mismatch suppression during diagnostic casting
2020-09-14 18:08:33 +03:00
Mikhail Glukhikh
6fd3b011ca
[FIR] Simplify substitution for unsafe-variant type parameter types
...
#KT-41792 Fixed
2020-09-14 18:08:31 +03:00
Mikhail Glukhikh
e1b4108e4a
[FIR2IR] Mute some tests due to captured type problems
2020-09-14 18:08:30 +03:00
Mikhail Glukhikh
aa897db132
[FIR] Introduce UnsafeVariance attribute (see KT-41792)
2020-09-14 18:08:29 +03:00
Mikhail Glukhikh
e4aaae9ae7
FIR call completion: approximate type argument types
...
This commit removes some captured / ILT types at the end of resolve
2020-09-14 18:08:28 +03:00
Mikhail Glukhikh
3b828ac62b
[FIR] Bad test data fixes (around captured types)
2020-09-14 18:08:27 +03:00
Mikhail Glukhikh
cf5480a398
[FIR] Questionable test data fixes (around captured types)
2020-09-14 18:08:26 +03:00
Mikhail Glukhikh
4605a65f41
[FIR] Good test data fixes (around captured types)
2020-09-14 17:56:39 +03:00
Mikhail Glukhikh
c2d9fc469a
Get rid of exception at ConeKotlinType.varargElementType
2020-09-14 17:56:37 +03:00
Mikhail Glukhikh
2f61a2f56f
[FIR] Provide correct comparison of captured types
2020-09-14 17:56:36 +03:00
Mikhail Glukhikh
b5f8fec213
FIR substitution: use standard approximation to remove captured types
2020-09-14 17:56:35 +03:00
Mikhail Glukhikh
7a73787680
[FIR] Use captureFromArguments in createSubstitution
...
This commit breaks ~57 resolve tests because captured types
now exists at the end of FIR resolve
2020-09-14 17:56:34 +03:00
Mikhail Glukhikh
e83f3bbf04
Introduce substitution to ConeTypeContext.captureFromArguments
...
This commit itself does not influence anything
2020-09-14 17:56:33 +03:00
Mikhail Glukhikh
414842343d
[FIR2IR] Add another problematic test with captured type argument
2020-09-14 17:56:32 +03:00
Mikhail Glukhikh
267382d86b
[FIR2IR] Add problematic test with incorrect type argument
...
NB: we should not have <E> as AbstractFirBasedSymbol type argument,
because it isn't accessible in the current scope. Star expected instead.
2020-09-14 17:56:30 +03:00
Dmitry Petrov
b395771d01
KT-37050 don't generate redundant special bridges
...
Loosely based on https://github.com/JetBrains/kotlin/pull/3662
2020-09-14 16:13:34 +03:00
Alexander Udalov
f0282bcfdf
JVM IR: add module name for internal functions before "$default"
...
The change is a bit complicated because the name mapping logic is
refactored so that we would compute the needed suffix first (either
module name, or multifile part class name), and then shove it into the
mangled name between the original function name and "$default", if the
function in question is the default arguments adapter.
The main motivation for this change was to fix KT-41809, but as a side
effect, private functions with default arguments in multifile parts now
also contain the file name, just like normal private functions.
#KT-41809 Fixed
2020-09-14 13:18:24 +02:00
Alexander Udalov
93f38e1c61
JVM IR: minor, use more specific types in MethodSignatureMapper
2020-09-14 13:18:24 +02:00