Nikita Bobko
8f79e833a8
Drop all redundant kotlin-reflect, kotlin-reflect-api dependencies
...
Review: https://jetbrains.team/p/kt/reviews/6753
All redundant I managed to find, of course.
Why: I'm going to process all reflect dependencies in the next commits.
Cleanup reflect dependency before processing.
They are redundant because:
1. if `compileOnly` then compilation didn't break after dropping the
dependency
2. if `test*` then tests didn't break after dropping the dependency.
3. `analysis/analysis-api-fir/analysis-api-fir-generator/build.gradle.kts`
`compiler/fir/checkers/checkers-component-generator/build.gradle.kts`
Drop `implementation(project(":kotlin-reflect-api"))` because the
module already depends on
`implementation(project(":kotlin-reflect"))`
4. `compiler/daemon/daemon-client/build.gradle.kts`. Drop `runtimeOnly`
because after dropping `compileOnly` compilation didn't break (so
`runtimeOnly` looks suspicious). Less safe than 1-3
2022-08-22 15:42:57 +02:00
Jinseong Jeon
79686ba242
AA FE1.0: don't return psi for fake overrides
2022-08-20 00:50:10 +02:00
Jinseong Jeon
25f7554a31
AA FIR: constant evaluation for Java field
2022-08-20 00:50:09 +02:00
Dmitriy Novozhilov
bb38690273
[FIR] Introduce FirAssignExpressionAltererExtension
...
This extension can be used to override resolution of assign statements
with custom statement
2022-08-19 07:44:09 +00:00
Arseniy Terekhov
25fc948d95
[FIR] DeprecationsProvider: make evaluation of deprecations on demand
2022-08-19 07:37:54 +00:00
Simon Ogorodnik
513af2dfbc
FIR. Refactor smart-cast representation in FIR tree
...
Make smart-casts non-transparent expression without delegation
to underlying FirQualifiedAccessExpression, as children delegation in
fir tree has unclear semantics
Remove two different kinds of tree nodes for smart-casts
2022-08-15 21:46:11 +00:00
Dmitry Gridin
c9e9ee90a3
[analysis] remove redundant OptIn annotations
2022-08-15 11:04:59 +02:00
Dmitry Gridin
8dbdea39da
[analysis] remove redundant diagnostic suppression
2022-08-15 11:04:58 +02:00
Mikhail Glukhikh
10ffdab438
Analysis API FIR: fix isDefaultEnumEntryMember
2022-08-12 09:35:31 +00:00
Mikhail Glukhikh
80a9f22052
Add applicability checks & tests for SubclassOptInRequired
2022-08-11 14:05:09 +00:00
Ilya Kirillov
0748f28efe
[FIR] rename ensureResolve -> lazyResolveToPhase as it better describes function semantics
2022-08-10 22:49:18 +02:00
Ilya Kirillov
88c68be12d
[Analysis API FIR] add additional information to exceptions from call resolution
2022-08-10 22:49:15 +02:00
Ilya Kirillov
f45f1ba3dc
[Analysis API] do not create multiple attachments inside exceptions
2022-08-10 22:49:14 +02:00
Ilya Kirillov
4d5f1dc1bb
[FIR] do not fail when Continuation classes not found in classpath
2022-08-10 22:49:12 +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
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
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Ilya Kirillov
6be2483824
[Analysis API FIR] rethrow IndexNotReadyException
2022-08-04 14:33:44 +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
Ilya Kirillov
556add72ff
[Analysis API FIR] fix KDoc reference resolve for aliased imports
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
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
Ivan Kochurkin
c47148b8fb
[FIR] Remove FirJsSyntheticNamesProvider and FirNativeSyntheticNamesProvider.kt
2022-07-25 23:30:09 +02: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
Ilya Kirillov
76f1744868
[Analysis API FIR] add more info to some exceptions
2022-07-23 19:54:47 +02:00
Ilya Kirillov
e462016151
[LL FIR] remove abstract class LLFirModuleData with only inheritor
2022-07-23 17:08:22 +02:00
Ilya Kirillov
827c262f68
[Analysis API FIR, LL FIR] use exceptionWithAttachment to not leak user data
2022-07-23 17:08:22 +02:00
Ilya Kirillov
c7a49b5ed1
[Analysis API FIR] do not fail on ConeTypeVariableType
2022-07-22 22:53:11 +02:00
Ilya Kirillov
2ffa03e831
[Analysis API FIR] fix expanding of anonymous objects in getClassOrObjectSymbol
2022-07-22 22:14:52 +02:00
Ilya Kirillov
6759263ae9
[Analysis API FIR] fix getClassOrObjectSymbol for classes actualized by typealias
2022-07-22 00:59:01 +02:00
Ilya Kirillov
b55f36f0fd
[Analysis API] introduce some basic API to create KtSymbol by Java PSI
...
^KT-50240
2022-07-22 00:58:59 +02:00
Ilya Kirillov
a0f0fa5a47
[Analysis API FIR] fix candidate collection for delegatedConstructor call
...
^KTIJ-20446
2022-07-22 00:58:59 +02:00
Ilya Kirillov
2c48d25c96
[Analysis API FIR] fix call candidate collection on calls without ()
2022-07-22 00:58:58 +02:00
Ilya Kirillov
e8bf8cb182
[Analysis API FIR] fix type rendering for type with "Cannot infer type for parameter" error
2022-07-22 00:58:58 +02:00
Dmitry Gridin
1fffb74419
[light classes] replace light class dependency from analysis-api-fir to light-classes-base
...
^KT-53097
2022-07-19 15:41:56 +00:00
Ilya Kirillov
f9126462ac
[Analysis API FIR] search for deserialized declarations inside corresponding modules
2022-07-19 17:17:34 +02:00
Ilya Kirillov
dd00062559
[analysis] introduce KtBuiltinsModule and remove hacks related to the stdlib module search
2022-07-19 17:17:33 +02:00
Ilya Kirillov
dc4527462f
[LL FIR] create separate library session for each library
2022-07-19 17:17:33 +02:00
Mikhail Glukhikh
801426d0e6
Simplify creation of FirRenderer
2022-07-14 09:38:44 +00:00
Mikhail Glukhikh
f9fdb5d3bc
Extract separate FirResolvePhaseRenderer
2022-07-14 09:38:43 +00:00
Mikhail Glukhikh
31a46866b6
Extract separate FirPropertyAccessorRenderer
2022-07-14 09:38:41 +00:00
Mikhail Glukhikh
3fe35e6997
Extract separate FirCallArgumentsRenderer
2022-07-14 09:38:39 +00:00
Mikhail Glukhikh
abfa33b200
Get rid of mode argument in FirElement.render(withType)
2022-07-14 09:38:38 +00:00
Mikhail Glukhikh
7c27e6f843
FirRenderer: partially get rid of RenderMode
2022-07-14 09:38:37 +00:00