Commit Graph

15995 Commits

Author SHA1 Message Date
Victor Petukhov 8500ee08a8 [FE 1.0] Remove CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION analysis flag
The constraint system for the old type inference is going to be removed.
Also, `CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION` isn't used in the production
2022-08-02 10:29:38 +00:00
Mikhael Bogdanov 90f8f8e14e Support inner classes in -Xjdk-release
#KT-52823 Fixed
2022-08-02 04:56:20 +00:00
Svyatoslav Scherbina 09c131afd2 [Native][tests] Add standalone test for KClass package names
To ensure that after introducing `ReflectionPackageName` annotation,
we still have tests that check KClass package names without it.
2022-08-01 15:24:15 +02:00
Svyatoslav Scherbina c1853a0218 [Native][tests] Introduce NATIVE_STANDALONE directive
This directive makes the test standalone, i.e. disables grouping it with
other tests into a single compilation, and in particular disables
package renaming for the test.

Also, remove the old hard-coded way to mark tests standalone.
2022-08-01 15:24:10 +02:00
Mads Ager 59c2bde10a [K/N] Unmute passing tests. 2022-08-01 08:57:16 +00:00
Mads Ager efde7c53d2 Remove reference to System.out.println from test.
This makes the test usable for non-jvm targets as well.
2022-07-29 09:34:53 +00:00
Steven Schäfer 7e472301b6 Re-enable "JVM IR: Move direct invoke optimization into a separate pass" 2022-07-29 01:06:44 +02:00
Steven Schäfer 6f0ff6aeb0 IR: Fix scope transparency in ReturnableBlockLowering
An IrReturnableBlock introduces a new variable scope and shouldn't be
replaced with a transparent IrComposite block.
2022-07-29 01:06:44 +02:00
Ilmir Usmanov b93c000250 Make suspend fun, where suspend is a function error in 1.9
instead of 1.8.

 #KT-49264
2022-07-28 21:03:07 +02:00
Igor Chevdar 8981eb85de [box-tests] Added a couple of reproducers for KT-52795 2022-07-28 16:01:17 +00:00
Victor Petukhov a61648651b [FE 1.0] Use original receivers for NI while DSL scope violation checking
Original receivers are already use in the near place

^KT-46969 Fixed
2022-07-28 08:51:42 +00:00
Mikhail Glukhikh 8e9e8302f7 CandidateApplicability: merge INAPPLICABLE_MODIFIER into CONVENTION_ERROR 2022-07-27 15:29:43 +00:00
Mikhail Glukhikh 32a73968de Stop tower resolve in K2 in more similar manner with K1 2022-07-27 15:29:41 +00:00
Ilya Gorbunov 1addc23b23 Add range iteration tests for rangeUntil
#KT-52932
2022-07-26 23:52:10 +00:00
Ivan Kochurkin 80450042c7 [FIR] Ignore KtFakeSourceElementKind in FirRecursiveProblemChecker 2022-07-25 23:30:10 +02:00
Ivan Kochurkin 0af43757e3 [FIR] Implement FirNativeIdentifierChecker
* INVALID_CHARACTERS_NATIVE
2022-07-25 23:30:10 +02:00
Ivan Kochurkin a44d5bf52f [FIR] Implement FirNativeThreadLocalChecker
* INAPPLICABLE_THREAD_LOCAL
* INAPPLICABLE_THREAD_LOCAL_TOP_LEVEL
2022-07-25 23:30:10 +02:00
Ivan Kochurkin 987137cf76 [FIR] Implement FirNativeSharedImmutableChecker
* INAPPLICABLE_SHARED_IMMUTABLE_PROPERTY
* INAPPLICABLE_SHARED_IMMUTABLE_TOP_LEVEL
2022-07-25 23:30:10 +02:00
Ivan Kochurkin ad1fb07a95 [FIR] Implement FirNativeThrowsChecker 2022-07-25 23:30:09 +02:00
Ivan Kochurkin 502349c594 [FIR] Implement Native test infrastructure, add FirNativeSessionFactory 2022-07-25 23:30:09 +02:00
Denis.Zharkov 7d6e133c0d Refine warning messages for KT-36770
^KT-36770 Fixed
2022-07-25 16:08:49 +00:00
Denis.Zharkov 7f7e5c5975 FIR: Fix candidate receivers orders when choosing a context receiver
^KT-53257 Fixed
2022-07-25 15:11:29 +00:00
Ivan Kylchik 008a5f02e5 Make enum entries to be interpreted in right order
#KT-53727 Fixed
2022-07-23 18:32:52 +00:00
Rick Clephas 5a5e6ad8cd [K/N] Add ObjCName annotation (#4815) 2022-07-23 18:58:06 +02:00
Alexander Udalov 584b70719e JVM IR: disable SAM conversion in case type has 'in' projection
... and the corresponding type parameter has a non-trivial (i.e.
non-`Any?`) upper bound.

The best solution here would be to get rid of
`removeExternalProjections` completely, and just use the type of the
argument at the call site, but see KT-52428.

 #KT-51868 Fixed
2022-07-23 01:10:53 +02:00
Denis.Zharkov a3b33901d8 Add issue link to deprecation warning message for KT-36770
^KT-36770 Fixed
2022-07-22 16:42:13 +00:00
Mikhail Glukhikh 3ae75a5094 FIR2IR: generate annotations on fake override parameters #KT-53208 Fixed 2022-07-22 16:39:52 +00:00
Mikhail Glukhikh 5445f4043a K2: expand types during smartcasting to prevent redundant intersections
#KT-53184 Fixed
2022-07-22 16:39:52 +00:00
Mikhail Glukhikh bc396b9765 K2: don't report RETURN_TYPE_MISMATCH on last statement returns
#KT-53198 Fixed
2022-07-22 16:39:51 +00:00
Mikhail Glukhikh e20efc1398 K1: don't report UNRESOLVED_WITH_TARGET on hidden setters 2022-07-22 16:03:53 +00:00
Victor Petukhov 00d1e46c5a [FE 1.0] Don't throw exception during substitution of accessors, just return original 2022-07-22 16:03:53 +00:00
Victor Petukhov db54d18c72 [FE 1.0] Add fallback for extracting when call 2022-07-22 16:03:52 +00:00
Victor Petukhov 42e71f8c53 Remove explicit enabling the new type inference from test data 2022-07-22 16:03:52 +00:00
Victor Petukhov 224beb24eb Remove explicit disabling the new type inference from test data 2022-07-22 16:03:51 +00:00
Victor Petukhov c0ae68fe93 [FE 1.0] Remove type predicate calculation from CFG tests
That logic is hard to support because it used deprecated `OldResolutionCandidate` and `ResolvedCallImpl`. Moreover FIR has own CFG utils.
2022-07-22 16:03:51 +00:00
Victor Petukhov 6e191147b9 [FE 1.0] Resolve setters through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:50 +00:00
Victor Petukhov 0070c234ce [FE 1.0] Resolve constructor calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov e66cc9a639 [FE 1.0] Resolve special construct calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:48 +00:00
Victor Petukhov bab8047bb3 [FE 1.0] Resolve this and super calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:48 +00:00
Mikhail Glukhikh 9add6f3d55 K2: add more accurate & more automatic control of diagnostic suppression
#KT-51363 Fixed
2022-07-22 11:35:26 +00:00
Dmitriy Novozhilov b2e558a174 [CLI] Make -Xcompiler-plugin experimental and K2 only 2022-07-20 09:07:27 +00:00
Dmitriy Novozhilov 928416c9c5 [CLI] Introduce new compiler arguments for registering compiler plugins
With new syntax each plugin should be registered in separate argument with syntax
`-Xcompiler-plugin=classpath1,classpath2[=argument1=value1,argument2=value2]`
2022-07-20 09:07:26 +00:00
Dmitriy Novozhilov 8919703448 [Test] Extract CLI tests for plugins into separate directory 2022-07-20 09:07:26 +00:00
Svyatoslav Kuzmich 11c8c01a50 [Wasm] Update v8 shell to v10.5.207 2022-07-19 18:46:52 +02:00
Sergej Jaskiewicz 1241565cce [JS IR] Adapt stepping tests for Kotlin/JS 2022-07-19 16:06:24 +00:00
Sergej Jaskiewicz ea556ce428 [JS IR] Implement stepping tests for Kotlin/JS
We already have stepping tests for Kotlin/JVM.
They are helpful for testing the correctness of the generated
debugging information.

They are better than line number tests in that they allow to test the
_behavior_, not the generated data. The structure of the data may change
even if the behavior stays the same. For that reason, stepping tests
are more stable.
2022-07-19 16:06:23 +00:00
Ilya Kirillov d04bd320f9 [LL FIR] ignore test failing due to ^KT-53242 2022-07-19 17:17:35 +02:00
Dmitriy Dolovov ce04a24b26 [IR][tests] Removal of class used as variable type and constructor call 2022-07-18 17:29:50 +02:00
Dmitriy Dolovov d5ded97ccb [IR][tests] Removal of inlined class case
^KT-52478
2022-07-18 17:29:50 +02:00
Dmitriy Dolovov 7b5e33b6ca [IR][tests] Add tests for removal-of-typealias case 2022-07-18 17:29:49 +02:00