5034 Commits

Author SHA1 Message Date
Ilya Kirillov ebc68dc54c [Analysis API] actualize testdata 2022-08-10 20:37:15 +02:00
Jaebaek Seo 50c293f83f Fix array access expression getKtType() bug
For an array access expression e.g., `foo[3]`,
KtFirExpressionTypeProvider first tries
`getReturnTypeForArrayStyleAssignmentTarget(..)` method that determines
the type of the array access expression when it is in the form of "set"
the value. However, the method also returns a non-null result for an
array access expression that reads its value i.e., "get". In this case,
the result of `getKtType()` becomes wrong. This commit lets the method
return a null for the type of "get" array access expression.
2022-08-10 17:34:49 +02:00
Jinseong Jeon b173b1fe24 AA: use package part info (if available) when searching for PSI from binary module 2022-08-10 17:34:48 +02:00
Jinseong Jeon d0a8eb5c54 AA FIR: use resolved annotation argument mapping 2022-08-10 17:34:48 +02:00
Jinseong Jeon 56a5d883c0 AA FIR: handle (aliased)? annotation w/ vararg parameter 2022-08-10 17:34:48 +02:00
Dmitry Gridin 434872c5a9 [slc] mark SymbolFakeFile as internal
^KT-50241
2022-08-09 21:08:43 +02:00
Dmitry Gridin 74ad591dcb [slc] rename fir to symbol
^KT-50241
2022-08-09 12:09:00 +02:00
Dmitry Gridin c0d6a64a8a [slc] rename fir to symbol
^KT-50241
2022-08-08 19:08:46 +00:00
Jinseong Jeon 4531080858 AA: introduce KtNotUnderContentRootModule impl to standalone mode
to gracefully handle element/file/etc without a binding module.

This could happen, e.g.,
1) source PSI created from KtPsiFactory, which uses literally dummy.kt
2) debugger that creates a code fragment on-the-fly
3) on-air analysis of non-physical files
2022-08-06 13:18:55 +02:00
Jinseong Jeon e8e88b4eb2 AA: deprecate utils in StandaloneUtils
...in favor of StandaloneAnalysisAPISessionBuilder
2022-08-06 13:18:54 +02:00
Mikhail Glukhikh 2598ecf23f Revert "K2: fix internal visibility checks for overrides #KT-53197 Fixed"
This reverts commit 166965e559.
2022-08-05 18:26:59 +02:00
Dmitry Gridin 4ceb170917 regenerate tests 2022-08-05 14:12:41 +02:00
Dmitry Gridin a925b6b47d [slc] reformat code
^KT-50241
2022-08-05 14:12:40 +02:00
Dmitry Gridin 4c3090e476 [slc] update copyright
^KT-50241
2022-08-05 14:12:40 +02:00
Dmitry Gridin 4419d7cd9e [slc] fix packages
^KT-50241
2022-08-05 14:12:40 +02:00
Dmitry Gridin 0016973d2e [slc] add todo
^KT-50241
2022-08-05 14:12:40 +02:00
Dmitry Gridin 6f40c097f1 [slc] cleanup code
^KT-50241
2022-08-05 14:12:40 +02:00
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
Ilya Kirillov 6be2483824 [Analysis API FIR] rethrow IndexNotReadyException 2022-08-04 14:33:44 +00: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
Mikhail Glukhikh 166965e559 K2: fix internal visibility checks for overrides #KT-53197 Fixed 2022-08-03 07:52:14 +00:00
Jinseong Jeon 009182af63 FIR LC: use the data path from the test base 2022-08-03 08:57:37 +02:00
Jinseong Jeon fc2f4d814e FIR LC: test exact annotation owner kind 2022-08-03 08:57:37 +02:00
Jinseong Jeon 91946651d2 FIR LC: fix potentially ignored visit in light parameter 2022-08-03 08:57:37 +02:00
Jinseong Jeon 199219483e FIR LC: set modifier list as a parent of light annotations
^KTIJ-22354 Fixed
2022-08-03 08:57:37 +02:00
Jinseong Jeon 79030c9252 FIR LC: remove redundant util in tests 2022-08-03 08:57:36 +02:00
Jinseong Jeon 6b0a5e2908 AA: register LLFir(Library|Builtin)SessionFactory 2022-08-02 17:33:45 +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 bc1c2adae1 [FE 1.0] Use the new type intersection to intersect types 2022-08-02 10:29:36 +00:00
Dmitry Gridin 1514d5f563 [light classes] drop redundant KtLightClassForSourceDeclaration#forceUsingOldLightClasses
^KT-53097
2022-08-01 13:56:37 +00:00
Dmitry Gridin 4f18e7091b [light classes] analysis-api-fir: migrate from :compiler:backend to :compiler:backend.common.jvm
^KT-53097
2022-08-01 13:56:35 +00:00
Dmitry Gridin 1708b4fe48 [light classes] move light-classes-base module to analysis
^KT-53097
2022-08-01 13:56:34 +00:00
Roman Golyshev bcd6a54ffb [Analysis API FIR] Fix small mistake in KDocReferenceResolver
`owner` is a PSI element, it can never be an instance of
`KtConstructorSymbol`

Also, make `MutableCollection` an extension receiver instead of context
receiver for the consistency
2022-07-29 17:13:52 +02: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
Ilya Kirillov 556add72ff [Analysis API FIR] fix KDoc reference resolve for aliased imports 2022-07-28 01:37:54 +02:00
Ilya Kirillov 24c9b8e006 [LL FIR] fix invalid designation collection in case of classpath conflict
^KTIJ-22323 fixed
2022-07-28 01:37:54 +02:00
Ilya Kirillov d9c4fda521 [Analysis API FIR] implement reference resolve inside KDoc
^KTIJ-22324 fixed
2022-07-28 01:37:53 +02:00
Ilya Kirillov 50247a0346 [Analysis API FIR] fix getNamedClassOrObjectSymbol for MPP classes 2022-07-26 23:41:12 +02:00
Ilya Kirillov 0b285a951a [Analysis API FIR] do not fail PsiClass.getNamedClassSymbol on Kotlin classes 2022-07-26 23:41:12 +02:00
Ilya Kirillov fae30cef94 [Analysis API FIR] fix getting class id for non-java declarations 2022-07-26 23:41:11 +02:00
Ilya Kirillov 8be019d9bf [Analysis API] simplify KotlinDeclarationProvider interface 2022-07-26 23:41:11 +02:00
Ilya Kirillov 8c70a4d51d [Analysis API FIR] use narrower scope for KtFirStarImportingScope 2022-07-26 23:41:11 +02:00
Ilya Kirillov 9d82eb8fe3 [LL FIR] do not rethrow IndexNotReadyException/ControlFlowException from caches 2022-07-26 23:41:11 +02:00
Ivan Kochurkin c47148b8fb [FIR] Remove FirJsSyntheticNamesProvider and FirNativeSyntheticNamesProvider.kt 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
Yan Zhulanow 0c001cc993 Fix unstable reference provider ordering in IDE's KtIdeReferenceProviderService
As a result of unstable reference provider ordering, order of references in 'PsiElements' vary each IDE restart.
It directly affects the 'getReference()' method which returns the first available reference.
2022-07-25 07:35:39 +00:00
Ilya Kirillov 74273c6273 [Analysis API FIR] do not check for write access on inside ShortenCommandImpl as it breaks intention preview in IDE 2022-07-24 18:59:03 +02:00