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
Mikhail Glukhikh
a82baf87cb
FIR renderer: extract separate ConeTypeRenderer
2022-07-14 09:38:33 +00:00
Mikhail Glukhikh
38d6f3d548
Move FirRenderer to separate package
2022-07-14 09:38:31 +00:00
Jaebaek Seo
8d5c6297c7
Add ReadWriteAccessCheckerFirImpl class
...
ReadWriteAccessCheckerFirImpl class is ReadWriteAccessChecker
implementation for FIR. We register it for both stand-alone and test
analsys. It is used by KotlinFirReferenceContributor.kt to check the
synthetic Java property.
2022-07-12 16:47:40 +02:00
Jaebaek Seo
7a3e90f907
FIR find usage: separate FirSimpleNameReference objects for read/write
...
FirSimpleNameReference class handles the references to the Java
synthetic property. It causes an issue in `processReference(..)` method
of `MethodTextOccurrenceProcessor` when the property is used by
read/write. Since read/write has two results of the reference resolution
i.e., getter for read and setter for write, `ref.solve()` in the method
returns `null` because it uses `resolve()` method in
PsiPolyVariantReferenceBase that returns null when it has multiple
results. This commit separates FirSimpleNameReference objects for
read/write to fix the issue.
2022-07-12 16:46:01 +02:00
Ilya Kirillov
184478858c
[Analysis API] add isNoinline/isCrossinline to the KtValueParameterSymbol
2022-07-05 10:34:29 +02:00
Ilya Kirillov
8f89f1b368
[Analysis API] add info about context receivers to the Analysis API
2022-07-05 10:34:28 +02:00
Dmitriy Novozhilov
1a8496757e
[Compiler] Mark all entrypoints to compiler API as experimental
2022-06-29 12:00:01 +00:00
Dmitriy Novozhilov
441f3d202a
[LL API] Introduce converters from plugin defined diagnostics to KtDiagnostics
2022-06-29 12:00:00 +00:00
Dmitriy Novozhilov
8b42638afa
[Plugins] Introduce new API for registering compiler plugins
...
Original `ComponentRegistrar` exposes Project to its registration method,
so plugins should manually register extensions to it. To prepare for
possible unbound compiler from Project API in future new `K2ComponentRegistrar`
introduced which provides registration method without Project at all
2022-06-29 11:59:58 +00:00
Pavel Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Stanislav Erokhin
62d7094ac5
Remove KtAnalysisSessionFe10BindingHolder
...
I've removed its usage from Fe10Binding module in the IDE repo
2022-06-27 19:32:45 +00:00
Stanislav Erokhin
66851c7afd
[Analysis API] Add KtReceiverParameterSymbol#correspondingSymbol
2022-06-27 19:32:44 +00:00