Commit Graph

8117 Commits

Author SHA1 Message Date
Artem Kobzar 2d85eddeb9 [FIR] test: add a test case for reified inline functions with a same name in different packages. 2022-08-04 22:56:07 +02:00
Denis.Zharkov 11a26e540e Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
This reverts commit a2077f9063.
2022-08-04 17:50:00 +02:00
Denis.Zharkov 2ae2a7e442 Revert "KT-8263: Conditional operators are not parsed correctly"
This reverts commit 85800b4f9f.
2022-08-04 17:49:42 +02:00
Iven Krall 85800b4f9f KT-8263: Conditional operators are not parsed correctly 2022-08-04 11:24:09 +00:00
Iven Krall a2077f9063 KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing 2022-08-04 11:24:08 +00:00
Ilya Gorbunov f91ea4b4d9 Add more tests for 'contains' in ranges #KT-52933
- ranges produced by 'rangeUntil' operator
- ranges of unsigned values
- more elements in ranges produced by `downTo`
2022-08-03 22:18:14 +00:00
Mikhail Glukhikh 166965e559 K2: fix internal visibility checks for overrides #KT-53197 Fixed 2022-08-03 07:52:14 +00:00
Steven Schäfer 03aee58585 JVM IR: Avoid IrComposite in ReturnableBlockLowering (KT-53202) 2022-08-03 00:19:31 +02:00
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
Victor Petukhov 8227c4b603 [FE 1.0] Use the new type intersection emptiness check
Also introduced compatibility mode to preserve compatibility for is/as/equality checks

^KT-29316 Related
2022-08-02 10:29:37 +00:00
Mikhael Bogdanov 90f8f8e14e Support inner classes in -Xjdk-release
#KT-52823 Fixed
2022-08-02 04:56:20 +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 3e58c54da9 Add docs to CandidateApplicability, remove DSL_SCOPE_VIOLATION 2022-07-27 15:29:48 +00:00
Mikhail Glukhikh d0c518013a Document&use CandidateApplicability.shouldStopResolve/isSuccess properly 2022-07-27 15:29:47 +00:00
Mikhail Glukhikh 010d5b76e5 Temporary fix for K2/JS tests 2022-07-27 15:29:46 +00:00
Mikhail Glukhikh 220a8e47f4 K2: de-prioritize invoke on dynamic receiver 2022-07-27 15:29:45 +00:00
Mikhail Glukhikh 766d873271 FIR2IR: fix case with extension called on dynamic 2022-07-27 15:29:45 +00:00
Mikhail Glukhikh 0611f3b8e7 CandidateApplicability: add K1/K2 prefixes when applicable 2022-07-27 15:29:44 +00:00
Mikhail Glukhikh 8e9e8302f7 CandidateApplicability: merge INAPPLICABLE_MODIFIER into CONVENTION_ERROR 2022-07-27 15:29:43 +00:00
Mikhail Glukhikh 577b9686c1 K2: fix using compatibility resolve for SAM constructors 2022-07-27 15:29:42 +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
Steven Schäfer d2f6acfd34 FIR: Add resolved type refs to the annotation container context for diagnostics 2022-07-26 09:34:09 +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 1bb158e45c [FIR] Add SourceSet.generatedDir() and use it in build.gradle.kts 2022-07-25 23:30:10 +02:00
Ivan Kochurkin 9f9cef392f [FIR] Minor fixes of FirJvmDefaultChecker 2022-07-25 23:30:09 +02:00
Ivan Kochurkin ad1fb07a95 [FIR] Implement FirNativeThrowsChecker 2022-07-25 23:30:09 +02:00
Ivan Kochurkin c47148b8fb [FIR] Remove FirJsSyntheticNamesProvider and FirNativeSyntheticNamesProvider.kt 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
Ivan Kochurkin 2f56b29b3f [FIR] Extract FirSessionConfigurator and IncrementalCompilationContext to separated classes
With FirSessionFactory and FirJsSessionFactory
2022-07-25 23:30:09 +02:00
Ivan Kochurkin 94527e24e8 [FIR] Commonize code for creating common, JVM and JS session
Extract FirAbstractSessionFactory
2022-07-25 23:30:09 +02: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
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
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
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 224beb24eb Remove explicit disabling the new type inference from test data 2022-07-22 16:03:51 +00:00
Mikhail Glukhikh 78da5907c8 K2 checkers: separate report committer from other diagnostic components 2022-07-22 11:35:28 +00:00
Mikhail Glukhikh eba0e94429 K2: get rid of manual diagnostic suppression in checkers 2022-07-22 11:35:28 +00:00
Mikhail Glukhikh 07f16ef378 K2 LL API: implement automatic diagnostic suppression 2022-07-22 11:35:27 +00:00