Dmitriy Novozhilov
8f1062594f
[FIR] Add ability to get scopes for declarations of TYPES resolve phase
2020-09-29 10:17:43 +03:00
Dmitriy Novozhilov
cc4f72e032
[FIR] Capture type from type parameter upper bound when needed
2020-09-29 10:17:43 +03:00
Dmitriy Novozhilov
393688ad82
[FIR] Add extension to FirSession to get ConeTypeCheckerContext
2020-09-29 10:17:42 +03:00
Dmitriy Novozhilov
9e4623c52b
[FIR] Fix resolution of calls on super to avoid resolve to interface methods
...
#KT-38400 Fixed
2020-09-29 10:17:42 +03:00
Dmitriy Novozhilov
fb871a55a3
[FIR] Don't create backing field for property without explicit type
...
#KT-41977 Fixed
2020-09-29 10:17:42 +03:00
Dmitriy Novozhilov
0c0a8f9849
[FIR] Properly pass type attributes for inference of lambda with type variable as expected type
...
#KT-41989 Fixed
#KT-37317 Fixed
2020-09-29 10:17:42 +03:00
Dmitry Petrov
d9906ae8da
Minor: unmute some bytecode listing tests in JVM_IR
2020-09-28 21:48:14 +03:00
Dmitry Petrov
565c156ddb
Minor: reformat and cleanup warnings in CollectionStubMethodGenerator.kt
2020-09-28 21:48:14 +03:00
pyos
8c423729e4
JVM_IR: slightly refactor ClassCodegen
...
* reduce code duplication for constructing JvmDeclarationOrigin;
* move all `visitor.visitInnerClass` calls to before `visitor.done`;
* make the order of members more strict & remove 3 mutable fields, as
order-dependent mutation can lead to differences with incremental
compilation due to inline calls (thus keeping mutable state in
ClassCodegen is in general unsafe).
2020-09-28 17:08:01 +02:00
Victor Petukhov
076eacb3d1
Check implicitly inferred Nothing inside special calls properly: compare constructors instead of types
...
^KT-41176 Open
2020-09-28 13:27:02 +03:00
Vladimir Dolzhenko
a149d38c98
Register TYPE_CODE_FRAGMENT in KtStubElementTypes
...
Stubbed type has to be register earlier (see IStubFileElementType#checkNotInstantiatedTooLate)
^KT-28732 Fixed
2020-09-28 11:15:04 +02:00
Alexander Udalov
cb5c317f91
Gradle: support moduleName option in KotlinJvmOptions
...
#KT-42058 Fixed
2020-09-25 22:15:55 +02:00
Alexander Udalov
ae6d89b100
Minor, mute new test for FIR
2020-09-25 16:50:58 +02:00
pyos
bd6ead0467
JVM_IR: check for null when converting unboxed inline classes to strings
...
`C?` can be unboxed into `T?` if if wraps a reference type `T!!`, but in
this case `null` is not a valid value to pass to `toString-impl`.
#KT-42005 Fixed
2020-09-25 16:50:34 +02:00
Alexander Udalov
f8f2be3d9f
Minor, improve test on suspend invoke function reference
...
Add WITH_RUNTIME to enable it for the old backend, check the generated
function reference methods by starting the coroutine.
2020-09-25 14:52:46 +02:00
Steven Schäfer
20a5c44e41
JVM IR: Fix types in generated function reference constructor
...
For references to suspend functions this fixes an IllegalStateException
in the type mapper, which is what the "suspendFunctionMethodReference"
test is about.
2020-09-25 14:52:19 +02:00
Jinseong Jeon
f3db113a82
FIR2IR: use @Target to put annotations on either property or backing field
2020-09-25 14:45:49 +03:00
Jinseong Jeon
b59832c5fd
FIR: refactor annotation-related utils
2020-09-25 14:45:48 +03:00
Jinseong Jeon
c8170702c6
FIR serializer: special version requirement for @JvmField property in interface companion
2020-09-25 14:45:48 +03:00
Jinseong Jeon
dc2226b42f
FIR2IR: put @JvmField on field, not property
...
#KT-42118 fixed
2020-09-25 14:45:48 +03:00
Mikhail Glukhikh
ae23adb6f5
FIR Java: fix exception during synthetic property enhancement
2020-09-25 14:44:13 +03:00
Mikhail Glukhikh
368de43623
FIR Java: support Java setters more properly in use-site scope
2020-09-25 14:44:11 +03:00
Mikhail Glukhikh
873ea560a9
[FIR2IR] Fix conversion of flexible class reference
2020-09-25 14:44:10 +03:00
Mikhail Glukhikh
fe8e3e99ab
[FIR Java] Hide function in scope in case it's an accessor by fact
...
#KT-42116 Fixed
2020-09-25 14:44:09 +03:00
Dmitry Petrov
70095712eb
Minor: drop new bytecode listing test that passes only in JVM_IR
...
Unfortunately, there's no way to mute it in JVM right now.
Corresponding case is tracked as KT-42179, anyway.
2020-09-25 13:49:53 +03:00
Roman Golyshev
945edfe987
KT-41859 Place classes after typealiases in DeserializedMemberScope
...
This way, the order in stubs and in deserialized text would be the same
On the next stub version bump, this fix should be reworked: the order
in the `DeserializedMemberScope` should be restored, and the order in
the stubs should be fixed to match the order in `MemberComparator`
^KT-41859 Fixed
2020-09-25 09:03:12 +00:00
Dmitry Petrov
cfd62c15bf
JVM_IR KT-36994 don't generate stub if present in superclass
2020-09-25 11:57:33 +03:00
Dmitry Petrov
1adce11257
Add tests for KT-40191
2020-09-25 11:57:32 +03:00
Alexander Udalov
6d13fe8213
Minor, add explicit type argument to workaround KT-42175
2020-09-24 19:38:26 +02:00
pyos
f30e564c90
JVM_IR: do not use fields' superQualifierSymbol to cast the receiver
...
It's only for computing the field owner.
#KT-42131 Fixed
2020-09-24 18:28:23 +02:00
Dmitriy Novozhilov
0d954f1190
Change module :core:compiler.backend.common.jvm to :compiler:backend.common.jvm
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
b343d05e14
[FIR] Implement JvmTypeMapper based on cone types
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
a28d0e0b7f
Make IrTypeMapper delegate to AbstractTypeMapper
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
86d4d320c4
Introduce AbstractTypeMapper based on type markers
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
7380abac13
Split AsmUtils to descriptors dependent and independent parts
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
54a5a066e8
Introduce new module for common parts of backend utils
...
Mainly it needed for abstract jvm type mapper for different type systems:
IrTypes and ConeKotlinTypes
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
c3a89e2507
Move common part of typeSignatureMapping.kt to :core:compiler.common.jvm
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
d215c413cc
Move TypeMappingMode to :core:compiler.common.jvm
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
4ef57c120f
[FIR] Consider variance of type parameters during java type enhancement
...
#KT-41940 Fixed
2020-09-24 15:43:20 +03:00
Dmitriy Novozhilov
a0db510e49
[FIR] Split creating fir for java declarations to separate methods
2020-09-24 14:59:35 +03:00
Dmitriy Novozhilov
0d29d6d361
[FIR] Transform when conditions with boolean expected type
...
#KT-42130 Fixed
2020-09-24 14:59:35 +03:00
Dmitriy Novozhilov
68a47d6efb
[FIR] Add helpers for creating diagnostics on nullable source
2020-09-24 14:59:34 +03:00
Svyatoslav Kuzmich
162d9744ff
[JS IR] Fix export of constructor with default argument (KT-41275)
2020-09-24 14:58:14 +03:00
Jinseong Jeon
5b136516c4
FIR: utilize checking subtype of functional type and finding invoke symbol
2020-09-24 14:05:52 +03:00
Jinseong Jeon
b10466f6a2
FIR: extend suspend conversion to subtype of functional type
2020-09-24 14:05:52 +03:00
Roman Artemev
6670e4b21d
[JS IR] Fix callable reference to generic constructor
...
- add tests
- fix KT-42025
2020-09-24 12:50:47 +03:00
Ilmir Usmanov
4da67bf013
Minor. Unmute tests
2020-09-24 10:08:43 +02:00
Ilmir Usmanov
f22f10febb
JVM_IR: Unbox inline classes in suspend functions
...
if the function can be verified to safely returning unboxed
inline class.
Box the return value on resume path.
2020-09-24 10:08:41 +02:00
Mads Ager
ac742123fd
[JVM_IR] Generate line numbers in synthetic bridges.
...
The current backend does that for some bridges. We do it consistently
for all bridges.
The line number used differs. For the JVM_IR backend, we use the
line number of the class to which the bridge is added. For the
JVM backend, that does not appear to be the case for bridges
in lambdas. I prefer the line number for a lambda invoke bridge
to be the line for the lambda instead os some surrounding class.
2020-09-24 08:59:48 +02:00
Yan Zhulanow
eaa5d08736
Move all sources for android-tests to the 'test' source set
2020-09-24 15:50:55 +09:00