5034 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 4d5a4ccd6b [FE 1.0] Don't fail on calls of functions with contracts from object
^KT-51704 Fixed
2022-05-19 07:14:22 +00:00
Ivan Kylchik 20d0a531df Add new tests to check evaluation of intrinsic сonsts 2022-05-18 21:20:02 +03:00
Ivan Kylchik 51ccc32a3f Update test data after introducing IntrinsicConstEvaluation annotation 2022-05-18 21:19:57 +03: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
Xin Wang eb1d7110ec FE: Fix null assertion error when left is CollectionLiteral
#KT-49961 fixed
2022-05-18 08:57:16 +02:00
Anastasia.Shadrina 292c0c4383 [FE] KT-51234 Check subtyping between context receivers 2022-05-17 15:27:27 +00:00
Anastasia.Shadrina d857142514 KT-51243 Fix parameterized contextual lambda
^KT-51243 Fixed
2022-05-17 15:27:26 +00:00
Vladimir Dolzhenko efd5beb49b IJ file type optimizations based on extension
#KTIJ-21668

Merge-request: KT-MR-6288
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com>
2022-05-17 14:46:00 +00:00
Roman Golyshev 254151d82c [FIR IDE] Use proper FirSessions in FirSupertypesResolution
Symbols might be from other modules, so we need to use corresponding
`FirSession`s; otherwise it would be impossible to query symbols
from `firProvider`

^KTIJ-21714 Fixed
2022-05-12 21:22:22 +04:00
Victor Petukhov 11eb5ce39c [FE] Check types in canHaveCommonSubtype for intersection emptiness with erasing nullability
It doesn't affect having common subtypes check but may lead to false positives

^KT-52364 Fixed
2022-05-12 15:11:27 +00:00
Ilya Kirillov 7ac001b7bd [analysis api] fix KDoc for the analyze function 2022-05-12 16:24:24 +02:00
Ilya Kirillov b5ad6f5db4 [analysis api] move analysis session classes to separate packages, use KtAnalysisApiInternals to mark internal API 2022-05-12 16:15:14 +02:00
Ilya Kirillov eb9085c083 [analysis api] rename analyse -> analyze to match American word spelling 2022-05-12 16:15:13 +02:00
Ilya Kirillov fe35204e9f [analysis api] get rid of additional analyseWithCustomValidityToken 2022-05-12 16:15:11 +02:00
Jiaxiang Chen 7b038860b5 AA: add analyzeWithKtModule API for analyzing without KtElement 2022-05-12 16:15:03 +02:00
Ilya Kirillov ef0160c026 [analysis api] rename ValidityToken -> KtLifetimeToken 2022-05-12 16:15:02 +02:00
Dmitriy Novozhilov 2796d21ec6 [FIR] Create snapshot of tower data context for postponed callable referneces
This fixes an issue if type of some implicit receiver was changed because
  of changed smartcast in outer scope

^KT-51228 Fixed
2022-05-12 12:15:31 +03:00
Ilya Kirillov ecbf9cd4d5 [analysis api] fix ISE: No conversion was found for SYNTAX
^KT-51786 fixed
2022-05-11 13:14:44 +02:00
Ilya Kirillov bc92831475 [analysis api] fix ArrayIndexOutOfBoundsException on KtDiagnostic creation
The problem was caused by concurrent access to the non-thread safe List.
This list is not needed anymore, previously it was used to store strong
references to FIR diagnostics corresponding references in KtDiagnostics
were weak references.

^KTIJ-21449 fixed
2022-05-10 15:39:28 +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 ec6ec20728 [FE 1.0] Fix subtyping for captured integer literal types
^KT-50877 Fixed
2022-05-09 19:23:42 +00:00
Ilya Kirillov 7395f8e019 [low level api] consider property type parameters when matching FIR and PSI declarations 2022-05-09 16:09:02 +00:00
Ilya Kirillov 875da1ea1e [low level api] consider return type when matching FIR and PSI declarations 2022-05-09 16:09:01 +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
Jinseong Jeon e830778b46 AA: fix typo in StandaloneProjectFactory 2022-05-09 00:22:53 +02:00
Jinseong Jeon 754a41eb13 LL: handle jrt in LLFirJavaFacadeForBinaries 2022-05-09 00:22:53 +02:00
Jinseong Jeon 3f05ba04a9 AA: add JDK_HOME as dependent SDK module 2022-05-09 00:22:52 +02:00
Jinseong Jeon af32a65c78 AA: use existing utils to define library scope
No visible differences from end clients, and we can avoid uses/shares of
Jar file system across modules
2022-05-09 00:22:52 +02:00
Ilya Kirillov 82bfa3db05 [fir low level, refactoring] refactor LLFirSessionFactory 2022-05-05 10:43:13 +02:00
Ilya Kirillov f5c95f8a12 [fir low level, refactoring] remove registration of unused service 2022-05-05 10:43:13 +02:00
Ilya Kirillov 4ff38c9697 [fir low level, refactoring] rename LLFirModuleResolveState -> LLFirResolveSession 2022-05-05 10:43:13 +02:00
Ilya Kirillov 7b70cf3ae0 [fir low level, refactoring] rename rootModule -> useSiteModule 2022-05-05 10:43:13 +02:00
Ilya Kirillov 4825de3ed8 [fir low level] extract library session caching to a separate class 2022-05-05 10:43:12 +02:00
Ilya Kirillov 7c202948cd [fir low level, fir] extract empty FirPredicateBasedProvider to a separate class 2022-05-05 10:43:12 +02:00
Ilya Kirillov 71819a8cb9 [fir low level, refactoring] rename some classes to match the naming pattern 2022-05-05 10:43:12 +02:00
Mikhail Zarechenskiy 24220cbfb5 KotlinBinaryClassCache: restore missing fixes after merge to Kotlin repo
- Avoid lookups in branches: https://github.com/JetBrains/intellij-community/commit/c904c56bb4ac9764935aed09e2107636e2e5bb68
 - Don't fail during index of incorrect class files: https://github.com/JetBrains/intellij-community/commit/3af051e3d30e773d9dfe6cb388a42387b8636c6b

 ^KTIJ-21472 In Progress
 Also, this commit fixes projectLeak in Intellij Aggregator _LastInSuiteTest.testProjectLeak[Java Tests / 3]
2022-05-02 12:21:43 +00: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
Mads Ager 17b5e46547 [FE1.0] Fix CFG for inline function calls in finally blocks.
The body of the InlinedLocalFunctionDeclarationInstruction was
not copied. That confuses the information on the exceptional edge
with the information on the normal edge.

^KT-52131 Fixed
2022-04-28 14:39:59 +03:00
Victor Petukhov 6c54b78574 [FE 1.0] Don't capture projections during compatibility check of supertypes to determine intersection type emptiness 2022-04-27 19:50:30 +00:00
Victor Petukhov 20a8e5d742 [FE] Determine intersection type emptiness by looking at supertypes properly: substitute their type arguments 2022-04-27 19:50:29 +00:00
Victor Petukhov 54f0794ce3 [FE] Substitute erased type parameters as covariant 2022-04-27 19:50:28 +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 12a39d0330 [FE 1.0] Report errors due to inferred empty intersection on those candidates which were already previously discriminated by CompatibilityOfTypeVariableAsIntersectionTypePart 2022-04-27 19:50:26 +00:00
Victor Petukhov 47d6236a2d [FIR] Support determining emptiness of an intersection type with type parameters' types 2022-04-27 19:50:23 +00:00
Victor Petukhov b96708c3e2 [FE] Support reporting INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION for empty intersection types with type parameters 2022-04-27 19:50:21 +00:00
Victor Petukhov c16ae81a48 [FIR] Report errors for upper bounded type variables by an empty intersection type
^KT-51221 Fixed
2022-04-27 19:50:21 +00:00
Victor Petukhov 8e834fc7bb [FIR] Move subtyping helpers into TypeUtils.kt 2022-04-27 19:50:17 +00:00
Ilya Kirillov 34c855b450 [decompiler] add missing cache to annotation loader
it was missed during moving the code from intellij repository

^KTIJ-21613 fixed
2022-04-25 10:32:02 +02:00
Jinseong Jeon af21b67eb5 LL: cache reverse converted constant expression 2022-04-22 18:55:31 +02:00
Jinseong Jeon 7e8c893ce1 LL: showcase converted constants in raw FIR 2022-04-22 18:55:30 +02:00