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
Steven Schäfer
3a7cc93c4e
JVM IR: More precise check for calls to the implementation method in a default stub
2020-09-24 07:53:31 +02:00
Steven Schäfer
648bc9b1c4
JVM IR: Check for cycles when inlining into default stubs
2020-09-24 07:53:31 +02:00
Steven Schäfer
111c550f3c
JVM IR: More tests for inlining in $default stubs
2020-09-24 07:53:31 +02:00
Steven Schäfer
5e27d9b089
JVM IR: Make inlining in $default stubs compatible with the JVM BE
...
The JVM BE inlines calls to the underlying function in a $default stub
verbatim, e.g., without renaming LVT entries or regenerating anonymous
objects. This commit introduces the same behavior in the JVM IR BE.
Fixes KT-36769.
2020-09-24 07:53:31 +02:00
Steven Schäfer
bef0437edb
JVM IR: Generate LVT entries for parameters in inline $default methods
2020-09-24 07:53:31 +02:00
Ilya Kirillov
a0337ec10d
FIR: fix invalid increasing inner array size in ArrayMapImpl
2020-09-23 21:43:56 +03:00
Ilya Kirillov
65ef629ca7
FIR: add ensureResolved to processConstructors
2020-09-23 21:43:55 +03:00
Ilya Kirillov
fa570710ee
FIR IDE: move diagnostic highlighting to separate
...
pass
2020-09-23 21:41:54 +03:00
Ilya Kirillov
1f4aff9643
FIR: add ensureResolved to FirSealedClassInheritorsTransformer
2020-09-23 21:41:53 +03:00
Ilya Kirillov
1c0bbaf225
FIR: add ensureResolved to FirExposedVisibilityDeclarationChecker
2020-09-23 21:41:53 +03:00
Ilya Kirillov
f1c808384e
FIR IDE: do not resolve symbols by transitive module dependencies
2020-09-23 21:41:44 +03:00
Ilya Kirillov
9a99703f24
FIR IDE: implement incremental function analysis
2020-09-23 21:41:41 +03:00
Dmitry Petrov
1c4567c999
Add tests for KT-40152
2020-09-23 18:14:21 +03:00
Dmitry Petrov
cd37301ea2
Minor: TARGET_BACKEND=JVM in JVM-specific tests
2020-09-23 18:14:21 +03:00
Dmitry Petrov
99dbeecc40
Some more bytecode listing tests for JVM_IR
2020-09-23 18:14:20 +03:00
Victor Petukhov
25ea3df5ca
Put fix in 9123c4f73baf77f8a50dede6c890c46f5ffafd6c under the inference compatibility flag
2020-09-23 17:15:58 +03:00
Victor Petukhov
bfb46befa5
Mark projection of a nullable captured type as not null during simplification constrains with it and a nullable type variable
...
^KT-41913 Fixed
2020-09-23 17:15:57 +03:00
Alexander Udalov
84df996204
JVM IR: fix "step over" for inline function calls in conditions
...
Reimplement the same hacky approach used in the old backend (see
cc2fe6b0c6 ).
Previously, the debugger incorrectly stepped into Collections.kt on
"step over" inline function calls from stdlib like 'any'.
Since `if` and `when` expressions are represented the same way in IR,
the behavior is fixed for both of them. It's not the case in the old JVM
backend, where stepping over `when` conditions still suffers from the
same problem, which the newly added test checks.
2020-09-23 15:54:15 +02:00
Dmitriy Novozhilov
5e73e28695
[FIR-TEST] Fix psi consistency test due to 5efd533f
2020-09-23 15:32:09 +03:00
Dmitriy Novozhilov
10e7c0f1b2
[TEST] Fix long literal in testdata broken in 4374c06
2020-09-23 15:22:03 +03:00
Roman Artemev
76ed09482f
[IR BE] Fix inline class lowering
...
- provide additional type parameters from context when transforming
constructor into static function.
- fix KT-41771
- add test
2020-09-23 14:49:38 +03:00
pyos
5954db18cb
JVM_IR: fix lifting of arguments to object super constructors
...
If the arguments are reordered, they can not only be reads of temporary
variables, but also implicit type casts of said reads.
Fixes #KT-42002
2020-09-23 13:49:16 +02:00
Dmitriy Novozhilov
4d5e54cab6
[FIR] Unwrap definitely not null when matching overrides
...
#KT-41984 Fixed
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
08b5f3ddde
[FIR] Remove unused list with java.lang.Object member names
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
896103b94b
[FIR] Properly resolve implicit invoke calls
...
#KT-41990 Fixed
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
a8e81e9ad1
[FIR] Add special node for implicit invoke calls
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
696c8f07b4
[FIR] Add pretty toString to CallKind
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
40a9bb6eac
[FIR] Assume nullable types as good types for ILT approximation
...
#KT-41982 Fixed
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
f069857492
[FIR] Cleanup annotations transform in FirExpressionsResolveTransformer
2020-09-23 14:05:10 +03:00