Commit Graph

26435 Commits

Author SHA1 Message Date
Ilya Kirillov 8c69913640 FIR IDE: temporary ignore failing intention tests 2021-06-17 17:27:00 +03:00
Mark Punzalan 97c10b0b84 FIR IDE: Change PSI element type for NO_COMPANION_OBJECT and
EXPRESSION_EXPECTED_PACKAGE_FOUND from KtSimpleNameExpression to
KtExpression (source can be KtDotQualifiedExpression).
2021-06-17 17:26:58 +03:00
Ivan Kochurkin 1e430b7b03 [FIR] Replace PersistentList with MutableList in Context, simplify DeclarationConverter 2021-06-17 13:49:07 +03:00
Nikita Nazarov adec873118 [EE_IR] Update ignore directive 2021-06-17 02:40:04 +03:00
Roman Golyshev b587b71b0f FIR IDE: Move KtDeclarationAndFirDeclarationEqualityChecker.kt to nested api package 2021-06-16 15:38:57 +00:00
Roman Golyshev c42fec5c93 FIR IDE: Refactor findSourceFirCompiledDeclaration
Add `FirDeclarationForCompiledElementSearcher` class to encapsulate
searching by the compiled declarations, move it to the separate file
2021-06-16 15:38:56 +00:00
Roman Golyshev b0bac90a8b FIR IDE: Make findNonLocalDeclarationForCompiledElement a member of FirModuleResolveState 2021-06-16 15:38:56 +00:00
Roman Golyshev e1f985424f FIR IDE: Move KtDeclarationAndFirDeclarationEqualityChecker to api package 2021-06-16 15:38:55 +00:00
Roman Golyshev ad34c19f9a FIR IDE: Add explicit assertion that module info is ModuleSourceInfo 2021-06-16 15:38:54 +00:00
Roman Golyshev 44f74888e0 FIR IDE: Add tests for resolving compiled declarations
Also, use correct index to find source for properties in
`FirIdeDeserializedDeclarationSourceProvider` - this bug
was revealed by the tests
2021-06-16 15:38:53 +00:00
Roman Golyshev 0fe068c6ce FIR IDE: Find FIR declarations for compiled PSI elements separately
When PSI declaration comes from the library with classfiles,
its `moduleInfo` is represented by `LibrarySourceInfo` class.
In this case we have to resort to other ways of looking for
corresponding FIR declaration

It is easy to do for classes (by `classId`) and for the properties
(by `classId` of the containing class and property's name)

It is harder for callables, so we use
`KtDeclarationAndFirDeclarationEqualityChecker` to do that
2021-06-16 15:38:52 +00:00
Roman Golyshev be51738483 FIR IDE: Move KtDeclarationAndFirDeclarationEqualityChecker to idea-fir-low-level-api module
It will be required to compare PSI and FIR declarations
for compiled PSI elements
2021-06-16 15:38:51 +00:00
Roman Golyshev 66047f159f FIR IDE: Resolve declaration in withFirDeclaration only if needed 2021-06-16 15:38:51 +00:00
Roman Golyshev 9e4c5eed5f FIR IDE: Make ModuleLibrariesSearchScope work only on .class sources
If this scope will accepts sources, then it will cause problems later
(when we will get libraries' sources from indices and will try to
resolve them to FIR declaration)
2021-06-16 15:38:50 +00:00
Nikita Nazarov 7e44cddbab Introduce the fragment compiler backend to the debugger infrastructure 2021-06-16 13:58:18 +03:00
Yaroslav Chernyshev 6e9739caec Add regression test for MPP android source set with resources 2021-06-16 09:32:45 +03:00
Ilya Kirillov 39e2df6916 FIR IDE: render unresolved types as qualifiers for member generator 2021-06-16 01:17:44 +03:00
Ilya Kirillov cf7870e376 FIR IDE: implement toString for KtType 2021-06-16 01:17:43 +03:00
Ilya Kirillov af9e6253e4 FIR IDE: add ability to specify type argument in KtClassTypeBuilder 2021-06-16 01:17:42 +03:00
Ilya Kirillov 148c90dd1e FIR IDE: do not make KtTypeArgumentWithVariance abstract
As it does not require specific FIR implementation
2021-06-16 01:17:41 +03:00
Ilya Kirillov 6a9c49dd9d FIR IDE: rename coneType parameter in KtFirType constructors to not accidentally leak it via lambdas 2021-06-16 01:17:40 +03:00
Ilya Kirillov 1d1eab6947 FIR IDE: make KtSymbolByFirBuilder to be a weak ref in KtType to avoid memory leaks 2021-06-16 01:17:39 +03:00
Ilya Kirillov 73bb2e76f2 FIR IDE: introduce KtFirDefinitelyNotNullType 2021-06-16 01:17:38 +03:00
Ilya Kirillov 8177a70ff9 FIR IDE: introduce KtCapturedType 2021-06-16 01:17:36 +03:00
Ilya Kirillov e2cfd933f1 FIR IDE: introduce HL API for creating class types 2021-06-16 01:17:35 +03:00
Ilya Kirillov 8094a5448d FIR IDE: render error message for KtClassErrorType 2021-06-16 01:17:34 +03:00
Ilya Kirillov 0a6c96492a FIR IDE: simplify KtType hierarchy
- get rid of Kt(Non)DenotatbleType super classes as unused
- make KtErrorType to inherit KtClassType to be consistent with FIR
2021-06-16 01:17:32 +03:00
Tianyu Geng f6078b24df FIR IDE: AddToString quickfix 2021-06-15 20:19:53 +02:00
Tianyu Geng 1b8b5b9a79 FIR IDE: move AddToStringFix to fe-independent 2021-06-15 20:19:52 +02:00
Tianyu Geng 4bedf41f9c FIR IDE: RemoveNulalbleFix quickfix 2021-06-15 20:19:52 +02:00
Tianyu Geng b10de3dd2d FIR IDE: Move RemoveNullableFix to fe-independent 2021-06-15 20:19:52 +02:00
Victor Petukhov 559bedf5ae Continue processing not builder inference stub variables in the type checker during computing common super type
^KT-47148 Fixed
2021-06-15 17:40:56 +03:00
Victor Petukhov 9fa0cf132f Regenerate idea fir low level api tests 2021-06-15 12:52:06 +03:00
Jinseong Jeon ce26d54917 FIR IDE: extract PsiType conversions to KtPsiTypeProvider 2021-06-13 00:10:47 +03:00
Jinseong Jeon 0db510ad8b FIR IDE/UAST: introduce UAST-specific version of analyse 2021-06-13 00:10:46 +03:00
Jinseong Jeon 47ede5bdc8 FIR IDE/UAST: get PsiType from KtTypeReference 2021-06-13 00:10:38 +03:00
Jinseong Jeon fa36098214 FIR IDE/UAST: get PsiType from KtExpression 2021-06-13 00:10:34 +03:00
Ilya Kirillov 7d7782e8ff Fix FE1.0 intention test 2021-06-12 23:53:46 +03:00
Mark Punzalan 235f4200df FIR IDE: Add descriptions for HLAddAccessorIntentions (copied from FE
1.0 implementations).
2021-06-12 23:53:45 +03:00
Mark Punzalan 9b5f754e75 FIR IDE: Enable add accessors quickfix for MUST_BE_INITIALIZED.
Also added diagnosticFixFactoriesFromIntentionActions() to share
quickfix-creation across multiple diagnostics with the same PSI.
2021-06-12 23:53:44 +03:00
Mark Punzalan cd6dbd2515 FIR IDE: Assert that the action to invoke in
AbstractHighLevelQuickFixTest is of type QuickFixActionBase.
2021-06-12 23:53:43 +03:00
Mark Punzalan 783e5972d0 FIR IDE: Ensure all fixes provided by HLDiagnosticFixFactory are of type
QuickFixActionBase.

This allows us to verify in the quickfix tests that the action comes
from a diagnostic-based quickfix, and not an available intention. We
are adding APIs that wrap IntentionActions as QuickFixActionBase.
2021-06-12 23:53:42 +03:00
Mark Punzalan 43a8299f48 FIR IDE: Delete AddAccessorsIntention in favor of
HLAddAccessorIntentions.
2021-06-12 23:53:41 +03:00
Mark Punzalan 91e62832ee FIR IDE: Add applicability range to HLAddAccessorIntention (copied from
FE 1.0's logic) and actually check the range in AbstractHLIntention.
2021-06-12 23:53:40 +03:00
Mark Punzalan a497dd1d31 FIR IDE: Enable add accessor intentions in plugin. 2021-06-12 23:53:39 +03:00
Ilya Kirillov 4f12966d66 FIR IDE: warn about enabled Android plugin 2021-06-12 19:40:43 +03:00
Ilya Kirillov af7766b3ac FIR IDE: add fir icon to status bar to distinguish fir/fe10 ide 2021-06-12 19:40:42 +03:00
Mikhail Glukhikh ceb527c5e4 FIR: add OptIn checkers draft + some annotation / SinceKotlin utilities 2021-06-11 22:03:32 +03:00
Mikhail Glukhikh 0972020324 Extract common parts from ExperimentalUsageChecker 2021-06-11 22:03:32 +03:00
Vladimir Dolzhenko 2c8d583d8b Added ad-hoc KtValueArgument.stringTemplateExpression
Use only stub stringTemplateExpression if it is present and don't use ast nodes as it could be unbounded

#KT-47034 Fixed
2021-06-10 21:14:32 +00:00