Commit Graph

4282 Commits

Author SHA1 Message Date
Mikhail Glukhikh d6bc6bec59 FIR2IR: read extension function type attribute properly 2021-11-12 12:53:32 +03:00
Ilya Goncharov d6112224b4 [JS IR] Generate references from fake override to body in case of generic superclass 2021-11-11 15:12:34 +00:00
Dmitriy Dolovov 1e8dbd4846 [Native][tests] Add ExperimentalContracts OPT_IN directive for kt47300.kt
Without this directive the test can't be compiled by Kotlin/Native, because the box() function which is annotated with @ExperimentalContracts is called from the generated test runner source code that itself is not marked by this annotation.
2021-11-11 12:33:00 +03: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
Mads Ager 604f217360 [FIR] Report properties from java methods in Fir2IrLazyClass.
This shows up in annotation instantiation tests where we need
to make sure to generate a property on the annotation implementation
class for such properties.
2021-11-09 23:51:49 +03:00
Mads Ager b79ca7d7df [FIR] Allow annotation instantiation.
This commit disables the frontend error reporting for supported cases.
2021-11-09 23:51:48 +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
Mikhail Glukhikh 6eaeada1e6 FIR: cache properties in use-site scope properly 2021-11-09 21:04:40 +03:00
Mikhail Glukhikh f2c734fc02 FIR2IR: add another fallback for simple synthetic property 2021-11-09 21:04:39 +03:00
Mikhail Glukhikh b50350f6a5 FIR2IR: add fallback for a synthetic property override situation 2021-11-09 21:04:39 +03:00
Mikhail Glukhikh a05244eca1 FIR: don't enhance synthetic property if not needed 2021-11-09 21:04:38 +03:00
Mikhail Glukhikh 5b6e21690b FIR2IR: call fake overrides properly #KT-49288 Fixed 2021-11-09 21:04:35 +03:00
Mads Ager e1f6c19c83 [FIR] Fix local variable tests.
- Mangle names for extension receivers in lambdas
 - Correctly mark anonymous variables and variables for arguments
   for destructuring declaration.

There is one failure remaining which is cause by lambda
type inference differences that leads to FIR having an explicit
return from the lambda whereas old frontend leads to an implicit
return. This difference is visible in debug stepping that the
local variables tests do because the implicit return has the line
number of the closing brace of the lambda. This change adds an
IrText test to make the difference clear.
2021-11-09 11:09:11 +03:00
Ivan Kylchik 9628412ff4 [TESTS] Remove ignore directive from some of tailrec tests for JS IR 2021-11-08 23:50:34 +03:00
Ivan Kylchik edd608446e [TESTS] Move WITH_RUNTIME directive to file level 2021-11-08 23:50:34 +03:00
Igor Laevsky 0915dac1f9 [Wasm] Handle unsigned arrays in the vararg lowering 2021-11-03 18:50:06 +03:00
Igor Laevsky 8dc81b6c57 [Wasm][Temporary] Stubs for typeOf and ::class constructs 2021-11-03 16:23:01 +03:00
Sergej Jaskiewicz 42c213d950 [JS IR] Explicitly convert Long values to String in string concatenation
#KT-39891 Fixed
2021-11-02 10:42:28 +00:00
Mikhael Bogdanov afc149d460 JvmDefault. Allow non default inheritance with special flag
#KT-47000
2021-11-01 13:30:57 +01:00
Victor Petukhov b7a9a7d922 Make backTicked.kt test more reasonable, though real invoking the passed lambda 2021-11-01 13:03:41 +03:00
Victor Petukhov 5508d40371 Put using underscored type arguments under a feature 2021-11-01 12:25:45 +03: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
Artem Kobzar 979e9f94ef feat(Escaped Identifiers): add ability to use any symbol wrapped in back ticks. 2021-10-29 17:55:59 +00: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
Roman Artemev 5b19c41373 unmute jvm test 2021-10-28 18:03:13 +03:00
Ilya Chernikov 81e4f3091a [minor] unmute suppress test on FIR - suppression works properly now 2021-10-27 22:17:42 +02:00
Victor Petukhov 37b5f01a5a Fix test after abe607f4ea 2021-10-27 10:57:55 +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
Ivan Kylchik 0d02b1d51c [TESTS] Remove ignore js backend directive from some tailRecursion tests
These tests were falling due to inserted diagnostics. New test
infrastructure can remove them before running test.
2021-10-25 00:14:19 +03: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
Dmitry Petrov d5f6674d2d JVM_IR KT-49335 run RepeatedAnnotationLowering per module
Otherwise, we drop annotation constructors in AnnotationLowering,
which breaks RAL in case of annotation container declared in different
file.
2021-10-21 21:22:36 +03:00
Denis.Zharkov a0a57581ec FIR: Do not add alias for variables with explicit type 2021-10-20 22:05:24 +03:00
Ilmir Usmanov 3f8fa3149b Support extensions in functional supertypes
Under a flag for now.
2021-10-18 18:53:26 +03:00
Sergej Jaskiewicz 9e5520bba8 [JS IR & WASM] Fix executing init blocks for enums with nested objects 2021-10-18 13:37:16 +00:00
Abduqodiri Qurbonzoda a3755a8e94 @UseExperimental -> @OptIn in compiler testData 2021-10-17 21:14:37 +00:00
Dmitry Petrov af18b10da9 JVM_IR KT-49203 generate stubs for not found classes 2021-10-15 12:15:49 +03:00