Ilmir Usmanov
09c9641e23
FE: Use safe call when searching for suspend modifier
...
The modifier does not exist, when the parameter type is typealias.
#KT-35187 Fixed
2022-06-29 06:12:44 +02:00
Pavel Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Mikhael Bogdanov
8f60f73207
JvmDefault. Add deprecation warning for '-Xjvm-default=enable|compatibility' options
...
#KT-46329
2022-06-28 14:11:49 +02:00
Ilmir Usmanov
f34ae686a0
JVM: Make coroutines spilling tests runtime
...
instead of bytecode text ones. Check the content of continuation
object instead of bytecode, since this is less prone to changes during
changes in coroutines codegen.
#KT-48678
2022-06-27 23:11:40 +02:00
Pavel Kunyavskiy
dfcf2cfa84
[K/N] Fix extracting local classes from lambda in cached inline function
...
^KT-52540
2022-06-27 14:09:27 +00:00
Pavel Mikhailovskii
3766698081
KT-52743 IR: Fix null checks in Elvis operators
2022-06-22 09:11:24 +00:00
Dmitriy Novozhilov
b73783b693
Add test for KT-52580
2022-06-21 14:10:37 +00:00
Victor Petukhov
fa7809cd80
[FE] Remove BuilderInference annotation from tests
2022-06-21 15:01:56 +02:00
Mikhail Glukhikh
966e2442c6
Add tests for KT-52745
2022-06-21 07:39:03 +00:00
Mikhail Glukhikh
b0a6508d4b
Handle Java base class field read properly in IR converters
...
For FE 1.0, we just change super qualifier symbol to
base class, if it's possible.
For FIR, we introduce using of super qualifier symbols for
field accesses and repeat FE 1.0 behavior here.
#KT-49507 Fixed
2022-06-16 06:51:33 +00:00
Steven Schäfer
194a1d1c6a
JVM IR: Start fake variables for default lambdas after initialization
...
KT-52702
2022-06-15 16:49:22 +02:00
Alexander Udalov
08f18c2940
Fix metadata deserialization for context receivers with type table
...
In DeserializedClassDescriptor and MemberDeserializer, only the
`contextReceiverTypeList` field was used, and not
`contextReceiverTypeIdList` which is used when `-Xuse-type-table` is
enabled. The convention is to use a bunch of utilities declared in
`protoTypeTableUtil.kt` which deal with both methods of reading types.
Also, simplify the deserialization code in FIR (which was correct for
some reason).
2022-06-15 16:45:30 +02:00
Pavel Mikhailovskii
bcd8a28d4c
KT-47823 IR.JVM Fix handling of for loop ranges with inline types and break/continue/return
2022-06-10 18:42:28 +00:00
Denis.Zharkov
9caa60d389
Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
...
This reverts commit ba5c85d6
^KT-52684 Related
2022-06-09 15:44:36 +00:00
Denis.Zharkov
67f9025f9e
Add test data for parsing of complicated <..> and <..>= combinations
...
^KT-52684 Related
^KT-8263 Related
2022-06-09 15:44:35 +00:00
pyos
27c51f5f88
JVM_IR: skip SAM lambdas when computing enclosing method of objects
...
This is what Java 15+ does, and it permits accessing captured type
parameters via reflection. The alternative is to emit generic signatures
on the lambda methods, but that was disabled and I have no clue why.
^KT-52417 Fixed
2022-06-08 23:59:58 +02:00
Pavel Mikhailovskii
f81d47bad6
KT-46797 Generate generic signatures for suspendImpl
2022-06-08 16:15:08 +02:00
Steven Schäfer
dbb6144ab0
JVM IR: Avoid boxing in generic floating point equality (KT-48635)
2022-06-08 15:38:06 +02:00
Dmitriy Novozhilov
22ebea8174
[FIR] Support FIR version of all-open plugin
2022-06-07 14:12:14 +00:00
Pavel Mikhailovskii
65b2cee913
KT-23397 Optimize out field for property delegate when it's safe (JVM)
2022-06-07 10:46:01 +00:00
Ilmir Usmanov
f922684169
Minor. Add regression test
...
#KT-52561 Fixed
2022-06-02 13:26:24 +00:00
Denis.Zharkov
c1904004c4
FIR: Fix case when smartcast receiver is used for call to private method
...
^KT-54432 Fixed
2022-06-01 16:02:30 +00:00
Pavel Mikhailovskii
3b5179686e
KT-52592 Fix NPE from KProperty.getExtensionDelegate on property delegated to another property; make $delegate methods private
2022-06-01 14:02:28 +00:00
Victor Petukhov
de9d1dc536
[Parser] Add additional parsing tests
2022-05-31 08:42:56 +00:00
Victor Petukhov
96d1f89836
[BE] Support until operator in back-ends
2022-05-31 08:42:56 +00:00
Victor Petukhov
19136019e4
[Parser] Support of parsing until operator
...
^KT-52419 Fixed
2022-05-31 08:42:54 +00:00
Pavel Mikhailovskii
2ceccec2b8
KT-52551 Create a static initialization section in case of delegation to a property reference from a file class
2022-05-30 14:16:18 +00:00
Ivan Kochurkin
feb3f41108
[FIR] Fix resolve inside lambda
...
The lambda is passed to extension function with type parameters
that defined inside this lambda
^KT-52197
^KT-52190 Fixed
2022-05-29 23:41:25 +03:00
Ivan Kochurkin
ad7c213ab2
[FIR] Initialize type for annotation arguments during deserialization
...
Get rid of IrErrorTypeImpl creating in FIR2IR
2022-05-29 23:41:23 +03:00
Ivan Kochurkin
0ef043b074
[FIR2IR] Consider property init value from nested class, ^KT-52057 Fixed
2022-05-29 23:41:23 +03:00
Alexander Udalov
a7f4981fe5
Normalize virtual file paths to prevent duplicate sources
...
#KT-52465 Fixed
2022-05-27 23:40:57 +02:00
Victor Petukhov
0199c76c06
[FE 1.0] Check callable reference return type safety during resolution
...
^KT-51844
^KT-52503 Fixed
2022-05-27 13:56:34 +00:00
Victor Petukhov
51551998c7
Revert "[FE 1.0] Take care callable reference candidates with recursive candidate return type"
...
This reverts commit d04beaa8bb49c99ceb993f3f7b32169c393b39f4.
2022-05-27 13:56:33 +00:00
Victor Petukhov
b411eb36e8
[FE 1.0] Take care standalone lambdas during updating types in the builder inference
...
^KT-50520 Fixed
2022-05-27 13:56:32 +00:00
Alexander Udalov
70121f0c78
Report error on non-existent classpath in -Xplugin
...
#KT-52380 Fixed
2022-05-27 13:13:33 +02:00
Iven Krall
ba5c85d6f2
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-05-18 17:23:40 +00:00
Steven Schäfer
90d09dce2c
JVM IR: Mangle overridden symbols in non-inline functions (KT-52394)
2022-05-17 12:13:29 +00:00
pyos
513ef575ce
JVM: correctly merge typed null values
...
1. merge(null of type A, null of type B) = null of unknown type;
2. merge(null of type A, something of type B) = merge(unknown null, B).
^KT-52311 Fixed
2022-05-17 11:58:06 +00:00
Steven Schäfer
0da23198e6
JVM_IR: Add null-checks in SAM wrapper constructors (KT-50108)
2022-05-14 02:01:44 +02:00
Ilmir Usmanov
4f53b085ec
Do not override collection stub, if the override is suspend
...
but the stub is not. The other way around should be OK.
#KT-52237 Fixed
2022-05-09 23:16:58 +00:00
pyos
b19b265735
JVM_IR: generate continuation classes for suspend inline references
...
This is somewhat suboptimal since this results in `::suspendInline`
generating 2 classes while `{ suspendInline() }` only creates 1, but
it's the best allowed by the existing hierarchy of classes in stdlib. At
least it works?
^KT-50832 Fixed
2022-05-09 23:15:05 +00:00
Victor Petukhov
9f31f074da
[FE 1.0] Take care callable reference candidates with recursive candidate return type
...
^KT-51844 Fixed
2022-05-09 19:23:43 +00:00
Victor Petukhov
7675361380
[FE 1.0] Continue completion of calls inside that builder inference call postponed type variables of which has already been inferred
2022-05-09 12:38:39 +00:00
Victor Petukhov
6027c2a9aa
[FE] Substitute fixed type variables with inferred stub types
...
Actually, a type variable might be fixed into a stub type. Such stub type should be substituted before sub calls completion
^KT-51988 Fixed
2022-05-09 12:38:37 +00:00
Alexander Udalov
6d664bcd10
JVM IR: fix operand type for CompareTo intrinsic
...
It's incorrect to take the first parameter type from the expression
itself because it can be nullable if smart casts are used. And if it's
nullable, it's mapped to the wrapper type and calling
`comparisonOperandType` for it makes no sense. Instead, take the type
from the callee function, as it's guaranteed to be mapped to a JVM
primitive type.
E.g. in `test1` function in the added test, the problem was that the
dispatch receiver type of the call expression is `Double?`, which is
mapped to `java/lang/Double`, whereas we clearly wanted to obtain the
primitive `D` (double) type.
#KT-52163 Fixed
2022-05-05 23:06:21 +02:00
Mikhail Glukhikh
15d58aff92
K2: drop C/DFA warning which fixes can break compilation in K1 till 1.8
...
#KT-50965 Fixed
2022-05-01 16:40:04 +00:00
Mikhail Glukhikh
08ba89b4ec
CLI K2: report an error for JS/Native/Metadata #KT-52035 Fixed
2022-04-28 13:25:48 +00:00
Victor Petukhov
fb76d819f0
[FE] Erase type parameters of super types during intersection type emptiness check as well
2022-04-27 19:50:27 +00:00
Victor Petukhov
0f1d212fc5
[FE] Fix tests
2022-04-27 19:50:27 +00:00
Dmitriy Novozhilov
19f4c3edda
[CLI] Report compilation error if compiler plugins are enabled alongside with K2 compiler
...
^KT-52037 Fixed
2022-04-26 21:03:04 +04:00