Dmitry Petrov
55d1fdfbc2
JVM_IR prevent clash of unsubstituted special bridges
2021-11-23 12:05:13 +00:00
Dmitry Petrov
2179987de7
FIR2IR fix enum special methods generation
2021-11-23 06:34:33 +00:00
Roman Artemev
3bef04cf5e
Fix test and unmute it for JVM
2021-11-22 19:00:43 +03:00
Victor Petukhov
a6fd14d4e6
[FE 1.0] Eliminate resolution ambiguity on inherited SAM-interfaces
...
^KT-17765 Fixed
2021-11-22 14:18:30 +03:00
Victor Petukhov
a5c6d370dd
[FE 1.0] Eliminate resolution ambiguity with external type parameters
...
^KT-10926 Fixed
2021-11-22 14:18:29 +03:00
Dmitry Petrov
e525e25518
JVM KT-47851 fix redundant checkcast elimination
2021-11-20 23:29:19 +03:00
Dmitry Petrov
8b066fd345
JVM add tests for KT-49615
2021-11-20 23:29:18 +03:00
Dmitry Petrov
30ceb49442
JVM_IR KT-48945 generate special bridge with unsubstituted signature
2021-11-17 17:44:01 +03:00
Alexander Udalov
850d76f6bf
Remove error on annotated types as arguments to typeOf
...
Instead, document that `KType.annotations` returns an empty list for
types created with `typeOf`. Annotations might be supported in the
future.
#KT-49573 Fixed
#KT-29919
2021-11-16 15:02:50 +01:00
Steven Schäfer
a6dae0b37b
JVM IR: Fix value class mangling in SAM wrappers from different modules
...
KT-49659
2021-11-14 21:52:39 +01:00
Alexander Udalov
27cfcb9b3d
IR: fix thisReceiver parameter type for function classes
...
Incorrect builder was used at line 269, which led to non-sensible type
in `IrClass.thisReceiver` for function types, such as
`SuspendFunction1<SuspendFunction1, SuspendFunction1>` in the linked
issue.
Avoid creating types manually completely to simplify this code and fix
the bug.
#KT-49168 Fixed
2021-11-10 21:58:41 +01:00
Dmitry Petrov
916379c0e7
JVM KT-49613 use adapter for indy reference to protected constructor
2021-11-10 19:37:27 +03:00
Dmitry Petrov
76bdf4ff1a
JVM KT-49548 extra test
2021-11-10 19:37:25 +03:00
Dmitry Petrov
9a4cff0dc7
JVM KT-49548 progression iterators can be tainted
2021-11-10 19:37:24 +03:00
Alexander Udalov
1071919706
Remove backend tests on old inference
...
Also remove any mentions of NewInference, and rename some tests.
2021-11-09 20:07:33 +01:00
Mikhael Bogdanov
afc149d460
JvmDefault. Allow non default inheritance with special flag
...
#KT-47000
2021-11-01 13:30:57 +01:00
Victor Petukhov
b69fb6779f
Basic support of partially specified type arguments though a new underscore operator for type arguments
...
^KT-13394
2021-11-01 12:25:07 +03:00
Dmitry Petrov
4f0c3c3c0d
JVM_IR never generate setter synthetic accessor for 'val' field
...
KT-49316
2021-10-29 18:38:11 +03:00
Georgy Bronnikov
534beb8553
IR: Test for toSkip(this) in T.resolveFakeOverride()
...
^KT-49371 Fixed
2021-10-29 12:13:57 +03:00
Roman Artemev
23ad0e7c63
[TEST] Add test checking cast to DNN type
...
muted temporary due to required support in backends
2021-10-28 18:03:14 +03:00
Dmitry Petrov
e76cf8550e
JVM_IR add test for KT-49411
2021-10-27 09:47:56 +03:00
Victor Petukhov
64c682f465
Remove constraints containing stub types after completion of the common system of a builder inference call
...
^KT-49285 Fixed
2021-10-26 19:37:59 +03:00
Victor Petukhov
abe607f4ea
Add test for KT-49209
2021-10-26 19:37:58 +03:00
Victor Petukhov
d50eba62bd
Propagate inference session from local context into property resolvers
...
^KT-48633 Fixed
2021-10-26 19:37:56 +03:00
Victor Petukhov
43e9c1223a
Take into account possible passed old captured type in isCapturedTypeFromSubtyping check
...
^KT-48590 Fixed
2021-10-26 19:37:55 +03:00
Denis.Zharkov
2a8eacd4ba
FIR2IR: Fix exception when local class used before declaration
2021-10-26 18:45:59 +03:00
Dmitry Petrov
c441980c74
JVM_IR don't move inplace arguments with variable stores
...
KT-49370
KT-49407
2021-10-25 20:11:42 +03:00
Dmitry Petrov
45a4cea655
IR KT-49372 cache progression loop parameters if their values can change
2021-10-25 19:03:13 +03:00
Roman Artemev
9f52326d14
[JS IR] Fix default arguments in suspend functions
...
Don't forget to remap parameter references in default arg expressions
The issue originally discovered in kotlinx.coroutines tests.
- add test
2021-10-25 12:56:16 +00:00
Dmitry Petrov
b03c9b6fc6
JVM_IR additional tests for indy lambda serialization
2021-10-23 11:21:27 +03:00
Dmitry Petrov
1dbbe22c8c
JVM_IR serializable indy method references
2021-10-23 11:21:25 +03:00
Ilmir Usmanov
3f8fa3149b
Support extensions in functional supertypes
...
Under a flag for now.
2021-10-18 18:53:26 +03:00
Artem Kobzar
99688e5c80
test(KT-47096): add tests for the uncovered behavior.
2021-10-14 14:57:35 +00:00
Dmitry Petrov
6ba65065ee
JVM add tests for KT-48544 & KT-49226
2021-10-14 17:23:12 +03:00
Denis.Zharkov
10c5d987d7
FIR: Fix exception on remaining flexible ILT in lambda
...
^KT-49191 Related
2021-10-14 14:01:49 +03:00
Dmitry Petrov
6f33259bc3
PSI2IR KT-49203 INVISIBLE_FAKE setter is non-referenceable
2021-10-13 18:38:23 +03:00
Alexander Udalov
357f3184bf
JVM IR: fix the type of IrGetField
...
The `irGetField` utility uses the field's own type as the type of the
resulting expression. But the field's type does not make sense outside
of the place of declaration of the field if it references a generic type
parameter of the containing class. Using this non-sensical generic type
led, for example, to an error in Ieee754 intrinsic (KT-48648).
The type of the expression should be kept as is in
JvmPropertiesLowering, i.e. taken from `expression` which the lowering
is replacing with the field access.
#KT-48648 Fixed
2021-10-12 23:35:17 +02:00
Dmitry Petrov
a213dad9ab
JVM_IR add more tests for specialized generics and reification
2021-10-12 15:56:38 +03:00
Dmitry Petrov
005d3b1f6f
JVM_IR pass reified type parameters in indy SAM conversion proxy
2021-10-12 15:56:33 +03:00
Dmitry Petrov
40fe67880b
JVM_IR wrap function into a proxy if indy SAM-conversion becomes valid
2021-10-12 15:56:31 +03:00
Sergej Jaskiewicz
9ee8f1e961
[JS IR] Enable StringTrimLowering for JS IR backend
2021-10-11 15:57:53 +00:00
Ilya Goncharov
b0aefd543a
[JS IR] Fix offsets and add new test
...
[JS IR] Use TypeSubstitutor for full substitution of types
- adding new tests
[JS IR] Commonize context and use in wasm
[JS IR] Add test with receiver with callable reference
[JS IR] Add prerequisites around inlining and callable references
[JS IR] Review fixes
- Add test with bounded type parameter
- Remove redundant casts
- Use offsets for synth function
- Correct traversing
[JS IR] Not use origin for not inlined function reference
[JS IR] Move util into common place
[JS IR] Fix offsets
[JS IR] Add type parameter argument and using value in test
[JS IR] Wrap inlined callable references with reified parameters
[JS IR] Add test on callable reference inlined fun
Merge-request: KT-MR-4722
2021-10-11 09:02:08 +00:00
Artem Kobzar
c9510af2c7
test(KT-47806): add tests for the uncovered behavior for generic companion function extensions.
2021-10-11 08:56:52 +00:00
Ilmir Usmanov
f760cd6736
Make CHECKCAST Object not break tail-call optimization
...
Since CHECKCAST Object does nothing for return value of suspend
function - the function returns references only, this is safe.
#KT-49157 Fixed
2021-10-11 06:40:26 +00:00
Artem Kobzar
dca4a8e722
fix(KT-45056, KT-47516): use enum as an IR class instead of enum entity class.
2021-10-08 16:21:49 +00:00
Dmitry Petrov
27860ef008
JVM_IR KT-49136 don't optimize null checks on fields and calls
2021-10-08 08:55:24 +03:00
Denis.Zharkov
f5da8957b4
FIR2IR: Support not found dependencies classes
...
^KT-49119 Relates
2021-10-07 17:26:27 +03:00
Roman Artemev
ed8e7c754d
[IR] Add test for internal fake overrides from friend module
2021-10-07 16:00:48 +03:00
Dmitry Petrov
3d64c91375
PSI2IR KT-49053 skip fake overrides with unresolved types in signature
2021-10-06 16:23:08 +03:00
pyos
1c3a20fab9
JVM_IR: generate $suspendImpl in interfaces as public
...
The visibility was the cause of KT-44533; not generating `$suspendImpl`
at all makes `super` calls impossible.
^KT-49106 Fixed
2021-10-06 15:03:51 +02:00