Commit Graph

375 Commits

Author SHA1 Message Date
Anastasiya Shadrina 1bcaeabd84 [PSI, FE, PSI2IR] Use labels for referencing specific receiver 2021-12-02 20:23:40 +03:00
Anastasiya Shadrina f4ddf66ac4 [FE] Support context receivers on classes 2021-12-02 20:23:25 +03:00
Anastasiya Shadrina 7de8380ddf [FE] Add context receivers getter to KtCallableDeclaration interface 2021-12-02 20:23:16 +03:00
Anastasiya Shadrina d1fdc4d787 [PSI] Introduce "context" soft keyword and parse context receivers 2021-12-02 20:23:11 +03:00
Mikhail Glukhikh cebe25ff39 FE: don't create KtFile stubs on virtual files without ids
This commit is kinda revert of the change in platform 203:
https://github.com/JetBrains/intellij-community/commit/5d91f7bf2e5718d715c0d90ed1a212ea845fb2a3

#KT-49833 Fixed
2021-11-29 18:42:23 +03:00
Victor Petukhov 42805db989 [FE 1.0] Take into account import aliases during hidden member resolution 2021-11-22 10:43:43 +03:00
Roman Golyshev 79f9bd9c29 Add javadoc to KtAnnotation 2021-11-16 21:34:57 +03:00
Dmitry Gridin 5ecd2aa191 [psi] KtNamedDeclarationStub: fix useScope for private class
The `return` was missed, so the private class did not optimize scope

^KTIJ-20069
2021-11-08 02:30:54 +00:00
Victor Petukhov 4118f3146b Use proper isPlaceholder check for psi type references 2021-11-01 13:03:41 +03:00
Victor Petukhov 248c9550cd Support type annotations resolution on an underscored type argument 2021-11-01 12:25:10 +03:00
Victor Petukhov b69fb6779f Basic support of partially specified type arguments though a new underscore operator for type arguments
^KT-13394
2021-11-01 12:25:07 +03:00
Ilya Chernikov 1ce4075112 Prepare CLI reporting infrastructure for non-PSI diagnostics 2021-10-27 22:17:40 +02:00
Dmitriy Novozhilov 94664694df [FIR] Prohibit confusing syntax inside when branches
^KT-48385
2021-10-21 19:39:46 +03:00
Yan Zhulanow 516dd825c2 [FIR IDE] Initial descriptor-based implementation of the Analysis API 2021-10-20 19:41:24 +03:00
Mikhail Zarechenskiy 8e0e2fe52c Increase stub versions for the major version 1.6.0
^KT-49190 Fixed
2021-10-18 14:48:35 +03:00
Mikhail Zarechenskiy 472eceb13c Mark KtDestructuringDeclarationReference as multi reference entity
This change fixes tests related to components:
 - org.jetbrains.kotlin.idea.codeInsight.InsertImportOnPasteTestGenerated$Copy.testMultiDeclaration
 - org.jetbrains.kotlin.idea.codeInsight.InsertImportOnPasteTestGenerated$Cut.testMultiDeclaration

 Initially, it was marked as multi reference in https://github.com/JetBrains/intellij-community/blob/388ff78e61a7e0599c85b07766a03d956d7583da/plugins/kotlin/frontend-independent/src/org/jetbrains/kotlin/idea/references/KtDestructuringDeclarationReference.kt#L14

 But then this change was lost during commonization of this
implementation with FIR

 ^KTIJ-19815 Fixed
2021-10-04 18:17:18 +03:00
Ilya Kirillov c8c1ee2b5a Fix usage of readWriteAccess without resolve
^KTIJ-19777 fixed
2021-10-01 16:48:35 +02:00
Victor Petukhov ee728b6902 Use the new type inference for top-level callable reference resolution
^KT-47797 Fixed
^KT-47987 Fixed
^KT-45034 Fixed
^KT-48446 Fixed
^KT-13934 Fixed
2021-09-27 16:12:27 +03:00
Vyacheslav Gerasimov ab146bd6d4 Build: Fix deprecated Gradle configurations usages
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00
Roman Golyshev 57608d7eeb Use correct elementType in KotlinBackingFieldStubImpl constructor 2021-09-13 21:58:00 +03:00
Nikolay Lunyak 6b532ccd0d [FIR] Allow lateinit FirBackingField's 2021-09-11 22:05:41 +03:00
Nikolay Lunyak 56b2a984ce [FIR] Quick fix FirModifierChecker 2021-09-11 22:05:35 +03:00
Nikolay Lunyak 37f832bc2f [FIR] Add KtBackingField (see: KT-CR-4119, KT-14663) 2021-09-11 22:05:26 +03:00
Dmitriy Novozhilov 00c60bf569 [FE] Remove dependecy on :core:descriptors from :compiler:psi 2021-09-09 17:20:24 +03:00
Jinseong Jeon 8e242655f9 FIR IDE: resolve call to property accessors 2021-09-09 16:07:09 +02:00
Jinseong Jeon cd4a08cb18 Migrate ReadWriteAccess and checker logic (from frontend-independent) 2021-09-09 16:07:09 +02:00
Denis.Zharkov c1b5d5551f Drop support for T!! syntactic structure
^KT-26245 In Progress
2021-08-31 15:41:13 +03:00
Denis.Zharkov 302eacbf59 Support new form of definitely non-nullable types: T & Any
^KT-26245 In Progress
2021-08-31 15:41:11 +03:00
Denis.Zharkov cdd8d1c163 Add AND (&) token 2021-08-31 15:41:09 +03:00
Ivan Kochurkin 301f446433 Restore KtModifierKeywordToken instead of String in modifier diagnostics
Remove KeywordType
2021-08-18 00:45:57 +03:00
Ilya Kirillov 2e3b576342 FIR IDE: change destructing declaration reference behaviour to match FE1.0 plugin behaviour 2021-08-11 18:09:05 +02:00
Tianyu Geng 684ef871ee FIR: unify common special names scattered around the code base 2021-08-06 22:57:17 +03:00
Igor Yakovlev a0418c3146 [STUBS] Fix invalid classId calculation for KtObjectLiteralExpression 2021-07-26 23:08:53 +02:00
Nikolay Krasko 1b3046a61b Cleanup 202 bunch files
Leave 202 in .bunch file to give some time for updating build server
2021-07-23 16:58:26 +03:00
Dmitriy Novozhilov 2c1ada131d [FIR] Don't generate implicit primary constructor for expect classes 2021-07-20 10:33:42 +03:00
Jinseong Jeon 9ec4d19a3f FIR IDE: avoid finding symbol for function type parameter 2021-07-15 18:29:33 +02:00
Dmitriy Novozhilov 785e2f862c [PSI] Ignore when failed to get file text
This is change from 36ff952 which was forgotten when applying 203 bunch
2021-07-13 10:34:59 +03:00
Dmitriy Novozhilov ddc3ef1121 Fix all illegal usages of safeAs function
Call of `safeAs` without specifying explicit type argument is hardly
  readable and may leads to hardly detectable errors
2021-07-12 10:11:36 +03:00
Alexander Udalov 68432f0c20 Fix deprecation/unchecked warnings after update to 203 2021-07-09 14:24:07 +02:00
Dmitriy Novozhilov 80971d7b8b ~~~~ switch 203 ~~~~ 2021-07-08 13:29:18 +03:00
Nikita Bobko 339231b05e Move KtFunctionLiteral.findLabelAndCall from kotlin-ide.frontend-independent to compiler.psi
I want to be able to use this function in `:kotlin-scripting-ide-common` & `frontend-independent`

This commit also allows to remove copy-pasted `findLabelAndCall` in `scripting-ide-services` module
2021-07-07 16:51:44 +02:00
Dmitriy Novozhilov 3f5e6a79c7 Replace all throw error(...) with just error(...)
`throw` is not needed in this case, because `error(...)` already
  raises exception (so `throw` is unreachable). Also after previous
  commit compiler reports `UNREACHABLE_CODE` warning on such `throw`
2021-07-02 17:55:21 +03:00
Dmitry Gridin 274bae1d05 KtArrayAccessReference: remove redundant functions 2021-06-29 10:04:27 +07:00
Denis.Zharkov 0ec693db89 Fix parsing regression related to T!!
^KT-47445 Fixed
2021-06-28 21:48:13 +03:00
Ilya Kirillov 28dbfeb845 Move KtReference interface to psi module 2021-06-20 22:07:15 +02: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
Ilya Kirillov 1e1ce3067f FIR IDE: implement basic classifier name contributor 2021-06-03 19:39:00 +03:00
Alexander Udalov 81ce1da352 Move PsiSourceElement to psi 2021-06-01 20:28:23 +02:00
Tianyu Geng 61475c48e2 FIR: fix VALUE_ARGUMENTS position strategy 2021-05-26 14:46:18 +03:00
Tianyu Geng e1b542314a FIR IDE: quickfix for WrapWithSafeLetCall
There is some behavior change regarding the new WrapWithSafeLetCall quickfix

1. it now works correctly on binary expressions by wrapping it with `()`
2. it now looks for a nullable position upward and do the modification there,
   if possible. For example, consider the following code

   ```
   fun bar(s: String): String = s

   fun test(s: String?) {
     bar(bar(bar(<caret>s)))
   }
   ```

   After applying this fix, FE1.0 yields

   ```
   bar(bar(s?.let { bar(it) }))
   ```

   while the new implementation yields

   ```
   s?.let { bar(bar(bar(it))) }
   ```

   This behavior aligns with FE1.0 if `bar` accepts nullable values.
2021-05-20 20:33:00 +02:00