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
Ilya Kirillov
186beddf5c
[Analysis API FIR] fix member scope for enum entries
2022-06-24 15:36:32 +00:00
Ilya Kirillov
89ff1f0c0b
[Analysis API FIR] fix member scope for enum entries without body
2022-06-24 15:36:32 +00:00
Ilya Kirillov
872b5a6a33
[Analysis API FIR] collect scope sequences more lazily
2022-06-24 11:11:25 +02:00
Ilya Kirillov
693b6f04e4
[Analysis API] cleanup, remove repetitive logic
2022-06-24 11:11:24 +02:00
Ilya Kirillov
567cda9767
[Analysis API] cleanup the code
2022-06-24 11:11:24 +02:00
Ilya Kirillov
86605c066b
[Analysis API] move PSI utils to internal-utils module
2022-06-24 10:41:05 +02:00
Ilya Kirillov
bb7b34b3a1
[Analysis API] introduce KtSymbolOrigin.SUBSTITUTION_OVERRIDE
...
^KT-52043
2022-06-24 10:41:05 +02:00
Stanislav Erokhin
2234813363
[Analysis API] Add KtCallableMemberCall#typeArgumentsMapping
2022-06-23 07:50:21 +00:00
Stanislav Erokhin
8d8fc6e291
[Analysis API] Add type to KtReceiverValue
...
Maybe in the future we could remove type from the
KtImplicitReceiverValue, because it has ktSymbol, and in theory
that should be enough to create corresponding KtType.
Unfortunately that is not the case for KtClassOrObjectSymbol --
it doesn't have the API for "default" type creation currently.
Regarding code in KtFirCallResolver.kt -- it seems like code there
needs some love in the future. Psi created via custom code there,
because for call x() FIR has receiver x with psi = null
2022-06-23 07:50:21 +00:00
Kristoffer Andersen
3af0e57406
[FIR-IDE] Add DestructuringDeclarationEntry to SymbolProvider
2022-06-22 21:20:54 +02:00
Jinseong Jeon
b6371a5b9a
AA/FIR: differentiate dynamic type rendering
2022-06-22 20:14:39 +02:00
Jinseong Jeon
2d52c59bc7
AA: introduce KtDynamicType
2022-06-22 20:14:39 +02:00
Ilya Kirillov
ed97e73129
[Analysis API FIR] fix invalid fallback for enum classes modality
2022-06-22 09:31:50 +02:00
Ilya Kirillov
d716c68f0e
[Analysis API] cleanup code
2022-06-22 09:31:49 +02:00
Ilya Kirillov
36f370f501
[Analysis API] add tests for KtTypeScope
2022-06-22 09:31:47 +02:00
Ilya Kirillov
b9907963fe
[Analysis API] add tests for KtSubstitutor
2022-06-22 09:31:47 +02:00
Ilya Kirillov
f4d47cfe59
[Analysis API fir] remove now unneeded ReadOnlyWeakRef
2022-06-22 09:31:46 +02:00
Ilya Kirillov
ffdfa05015
[Analysis API] use existing test utilities for rendering
2022-06-22 09:31:45 +02:00
Ilya Kirillov
f09459d172
[Analysis API] add KDocs to the substitution-related functionality
2022-06-22 09:31:44 +02:00
Ilya Kirillov
8ba7d41e00
[Analysis API] fix typo in class name
2022-06-22 09:31:44 +02:00