Roman Golyshev
8c876e4621
FIR IDE: Get rid of originalPosition in KtFirCompletionCandidateChecker
2020-09-07 18:46:38 +03:00
Pavel Kirpichenkov
dc538d420e
[FIR-IDE] Changes after review
...
Move usage of SingleCandidateResolver into dedicated component from KtFirAnalysisSession.
Add validity assertion, use concurrent map for context cache, provide original PSI when building context.
Update names, make other minor changes.
2020-09-02 19:15:06 +03:00
Pavel Kirpichenkov
ec072798b1
[FIR-IDE] Hack for checking single candidate resolver in tests
2020-09-02 19:15:06 +03:00
Roman Golyshev
1ab246f71e
FIR Completion: Drop originalPosition parameter from getScopeContextForPosition
...
- It is easier to retrieve the original enclosing function by the fake
enclosing function than trying to correct the `originalPosition` in
different situations
2020-09-02 14:32:52 +03:00
Ilya Kirillov
6d18bb6ba2
FIR IDE: add type parameters support to scopes
2020-09-02 11:16:19 +03:00
Ilya Kirillov
1ccf8bfb67
FIR IDE: fix completion in function with expression body
2020-09-02 11:16:15 +03:00
Ilya Kirillov
fcc7db5224
FIR IDE: introduce analyseInModalWindow function
2020-08-28 12:51:23 +03:00
Ilya Kirillov
30ac80a506
FIR IDE: introduce property accessor symbols
2020-08-28 12:15:13 +03:00
Dmitriy Novozhilov
bc1b6d3588
Rename :core:descriptors.common to :core:compiler.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
864cf21f03
Merge :core:type-system into :core:descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
a764732020
Rename KotlinBuiltInsNames to StandardNames
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
7a7fe77b8e
Move static constants with builtin names to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Ilya Kirillov
c191373a6b
FIR IDE: always pass ValidityToken to KtAnalysisSessionComponent
2020-08-19 11:35:41 +03:00
Simon Ogorodnik
c7d6a79c25
FIR IDE: Fix completion in case of function with parameters
2020-08-17 20:05:52 +03:00
Ilya Kirillov
27c045d035
FIR IDE: move all all symbol markers to markers package
2020-08-17 11:38:02 +03:00
Ilya Kirillov
052e8e5069
FIR IDE: make a symbol hierarchy a sealed one
2020-08-17 11:38:01 +03:00
Ilya Kirillov
018dd673b3
FIR IDE: simplify containing declaration provider
2020-08-17 11:38:00 +03:00
Ilya Kirillov
37ac654444
FIR IDE: rework high level API
...
Make analysis session to always be a receiver parameter
2020-08-17 11:37:58 +03:00
Ilya Kirillov
cadf99ca1e
FIR IDE: introduce containingDeclarationProvider for symbols
2020-08-17 11:37:57 +03:00
Ilya Kirillov
b5a4e4c409
FIR IDE: introduce applicable computation & -based inspection
2020-08-17 11:37:56 +03:00
Ilya Kirillov
c8ab0766c9
FIR IDE: Implement symbol restoring for member symbols
2020-08-17 11:37:55 +03:00
Ilya Kirillov
a700d1fccb
FIR IDE: resolve kt symbols only to the phase they actually need
2020-08-17 11:37:51 +03:00
Roman Golyshev
b3a674abee
FIR IDE: Add parameter's and type's properties required for completion
2020-08-10 18:25:34 +03:00
Ilya Kirillov
f62204fff1
FIR: move getCallableNames/getClassifierNames from scope to FirContainingNamesAwareScope
2020-08-09 12:04:52 +03:00
Ilya Kirillov
36a161080f
FIR IDE: introduce KtType rendering
2020-08-09 12:04:44 +03:00
Ilya Kirillov
9f33d0147c
FIR IDE: add info about nullability to KtType
2020-08-09 12:04:43 +03:00
Ilya Kirillov
ccf232eaab
FIR IDE: forbid analysis session to be stored in a variable
2020-08-09 12:04:34 +03:00
Ilya Kirillov
1c195ea2bb
FIR IDE: add kdoc for KtAnalysisSession
2020-08-09 12:03:07 +03:00
Ilya Kirillov
94b62e2ac6
FIR IDE: make context-dependent analysis session to use original cache on read-only mode
2020-08-09 12:03:00 +03:00
Ilya Kirillov
c0f5c90231
FIR IDE: separate ValidityOwner to ValidityTokenOwner & ValidityToken
2020-08-09 12:02:49 +03:00
Ilya Kirillov
6a6580dd97
FIR IDE: introduce KtConstructorSymbol.ownerClassId
...
Will be needed for completion
2020-08-09 12:02:48 +03:00
Ilya Kirillov
dee58e1d86
FIR IDE: handle importing scopes in completion in HL API
...
Co-authored-by: Roman Golyshev <roman.golyshev@jetbrains.com >
2020-08-09 12:02:11 +03:00
Roman Golyshev
a6dd84a7e4
FIR IDE: Modify KtFirAnalysisSession for completion
...
- This is WIP solution for having a specialized `KtFirAnalysisSession`
for the completion
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:54 +03:00
Roman Golyshev
df03e31b86
FIR IDE: Add KtCallableSymbol abstraction
...
- It should incapsulate callable symbols like functions, properties
and constructors
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:44 +03:00
Roman Golyshev
a4a2d92c08
FIR IDE: Make KtFirReference implement KtSymbolBasedReference
...
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:35 +03:00
Ilya Kirillov
2a495c1135
FIR IDE: introduce composite scopes
2020-08-09 12:00:38 +03:00
Ilya Kirillov
f709e6acf3
FIR IDE: introduce scopes for HL API
2020-08-09 12:00:05 +03:00
Ilya Kirillov
964becf138
FIR IDE: allow the same entity to be accessed from different threads
2020-08-09 11:59:23 +03:00
Ilya Kirillov
15ecfd84b4
FIR IDE: cache KtAnalysisSession for modules
2020-08-09 11:59:15 +03:00
Ilya Kirillov
8c0197e081
FIR IDE: introduce KtAnalysisSessionProvider & helping functions for working with analysis session
2020-08-09 11:59:10 +03:00
Ilya Kirillov
b09358fe17
FIR IDE: rename KtFieldSymbol -> KtFirJavaFieldSymbol
2020-08-09 11:59:04 +03:00
Ilya Kirillov
5cfac8fa3f
FIR IDE: introduce symbol pointers for restoring symbols in another read action
...
fix pointer
2020-07-02 22:25:06 +03:00
Ilya Kirillov
799a49649c
FIR IDE: introduce symbol modality
2020-07-02 22:25:06 +03:00
Ilya Kirillov
75a96f0153
FIR IDE: add info about varargs to parmater symbol
2020-07-02 22:25:05 +03:00
Ilya Kirillov
f10f6c6360
FIR IDE: introduce package symbol
2020-07-02 22:25:05 +03:00
Ilya Kirillov
a26063b3f8
FIR IDE: rename Invalidatable -> ValidityOwner
2020-07-02 22:25:05 +03:00
Ilya Kirillov
226d514788
FIR IDE: rename reference classes to KtFir*Reference for consistency
2020-07-02 22:25:05 +03:00
Ilya Kirillov
8368284817
FIR IDE: introduce KtType
2020-07-02 22:25:04 +03:00
Ilya Kirillov
c44756bbfd
FIR IDE: add tests for building kt symbols by PSI
2020-07-02 22:25:04 +03:00
Ilya Kirillov
8a52954bf8
FIR IDE: introduce symbol provider
2020-07-02 22:25:03 +03:00