Commit Graph

844 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 9d4d55b3ce [LL API] Extract expect actual matching into separate phase 2022-05-20 13:33:04 +00:00
Dmitriy Novozhilov d66748d011 [FIR] Extract expect actual matching into separate phase 2022-05-20 13:33:04 +00:00
Denis.Zharkov c018270462 Support DNN types in approximator
Mostly, it's relevant to FIR since there we started loading
type parameter based types as (T & Any..T?)
2022-05-19 16:54:06 +00:00
Denis.Zharkov c766f20554 FIR: Adjust override checker to definitely-not-nullable types
^KT-52201 Related
2022-05-19 16:54:05 +00:00
Denis.Zharkov 21b86123e8 FIR: Adjust analysis test data after changes in how we load Java types
Especially, it's about types based on type parameters
2022-05-19 16:54:05 +00:00
Denis.Zharkov d7f87e0182 FIR: Adjust analysis test data to changes in loading Java types 2022-05-19 16:54:02 +00:00
Denis.Zharkov f70ae2df3a FIR: Refine inference constraints when type variable in flexible position
That issue might be fixed via changing
TypeVariableMarker.shouldBeFlexible at ConeConstraintSystemUtilContext
but this and some other tricks have been added because of incorrect
handling of constraints where type variable has a flexible bound

^KT-51168 Fixed
2022-05-19 16:53:59 +00:00
Roman Golyshev 934b8c890e [FIR] Add temporary debug output to better understand CME on TeamCity
This commit should be reverted as soon as the reason for those
exceptions is found and fixed.

Tracking issue is KTIJ-21791
2022-05-19 13:03:34 +00:00
Georgy Bronnikov 3c3c1be543 Fir2Ir: introduce Fir2IrExtensions
This allows us to remove DeclarationStubGenerator from Fir2IrConverter,
thus reducing dependency on descriptor-based code.
2022-05-19 12:02:41 +02:00
Dmitriy Novozhilov 89b1307e16 [FE 1.0] Don't report UNUSED_* warnings on local properties with delegate
^KT-25527 Fixed
2022-05-19 07:14:23 +00:00
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