Commit Graph

1134 Commits

Author SHA1 Message Date
Pavel Kirpichenkov 470fef94fb Use bound resolution facade in DeprecationResolver usages
Resolution facade should be used consistently with direct usages of frontend components.
Otherwise they can start processing descriptors from foreign resolvers which leads to memory leaks.

Plain resolution API with provided facade is not suitable as-is for compiled declarations in KotlinIndicesHelper though.
Resolution facade for module sources contained in helper can't handle decompiled
sources from PSI indices (leads to "ModuleInfo not contained in resolver" errors).
That's why "hacked" resolve via import references should be used there.

#KT-39642 Fixed
2020-06-18 14:24:17 +03:00
Sergey Rostov 3d86e92bf5 gradle.kts standalone scripts: show actions inside single notification 2020-06-17 14:30:18 +03:00
Sergey Rostov bc16fbf438 gradle.kts: check gradle version before loading from fs cache 2020-06-17 14:30:18 +03:00
Sergey Rostov 7d31d7f20c default scripting support: remove notifications after script definitions update 2020-06-17 14:30:18 +03:00
Sergey Rostov b9fda902fb gradle.kts: update notification only after caches updated 2020-06-17 14:30:17 +03:00
Sergey Rostov 631e68c99a gradle.kts postponed loading: hide notifaction right after click on action 2020-06-17 14:30:17 +03:00
Sergey Rostov ace7ae19b4 gradle.kts standalone scripts: load configuration after switching without prompt 2020-06-17 14:30:17 +03:00
Sergey Rostov 07654b4c0e gradle.kts, minor: cleanup & simplify code 2020-06-17 14:30:17 +03:00
Sergey Rostov b2e629dceb gradle.kts legacy: don't start loading without prompt on first opening 2020-06-17 14:30:17 +03:00
Sergey Rostov 0234678804 gradle.kts: update notifications when scripting support was changed 2020-06-17 14:30:17 +03:00
Sergey Rostov 5ed7abd15d scripting: drop ManualConfigurationLoading and kotlin.gradle.scripts.useIdeaProjectImport registry flag 2020-06-17 14:30:15 +03:00
Sergey Rostov a3750b6419 GradleBuildRoot: extract GradleBuildRootsLocator for testing 2020-06-17 14:30:15 +03:00
Ilya Chernikov 484d026d2f Optimize resolution scope queries from the synthetic scopes
now required descriptors are queried in advance and passed to the
methods, to avoid multiple same name queries in a row
2020-06-11 16:16:15 +02:00
Ilya Kirillov 77550186ad FIR IDE: Move KDoc Reference & mainReference to frontend-independent module 2020-06-09 16:19:18 +03:00
Ilya Kirillov 418903e9ef FIR IDE: Make KtReference class descriptors frontend independent
* The new idea-frontend-independent module created
* Moved KtReference and it inheritors to that module & implement them in idea-analysis module by using descriptors frontend
2020-06-09 16:19:12 +03:00
Nikita Bobko a94d2211e4 Cleanup getLineCount 2020-06-04 14:56:23 +03:00
Yunir Salimzyanov 3b9000cc0c Cleanup 191 extension files (KTI-240) 2020-06-01 18:43:10 +03:00
Yunir Salimzyanov 7ab7ca5ff0 Cleanup as35 extension files (KTI-240) 2020-06-01 18:43:10 +03:00
Natalia Selezneva fd07d5f301 Scripting setting: auto reloading of script dependencies is now per definition 2020-06-01 15:12:53 +03:00
Roman Golyshev 2c12d26d28 KT-18538 Unwrap fake override in ShortenReferences
- Fake override prevents reference shortener from shortening of static
methods declared in the class bases when they are located not in
direct parent of the class (for example, in grand-
or grand-grand-parent)
- The completion uses descriptor with unwrapped fake override when it
performs the insertion. It leads to inserting the name of the base which
actually contains the static method instead of the direct parent class.
Now, when reference shortener compares unwrapped descriptors, this
problem should be fixed during insertion handling
2020-06-01 08:59:37 +00:00
Roman Golyshev 43bbfa78d1 KT-18538 Cleanup in ShortenReferences 2020-06-01 08:59:36 +00:00
Nikita Bobko aa5a5c954f Refactoring: change "// BUNCH: xxx" format
It wasn't obvious how to use this comment properly.
Now it should be clear
2020-05-29 20:31:12 +03:00
Vyacheslav Gerasimov af2dce0549 as41: Build against AS 4.1 C10 2020-05-27 18:46:57 +03:00
Ilya Chernikov dec8eb7899 Revert renaming scripting plugin jar:
it conflicts with the compilation on daemon, so transistion should
be planned accordingly, and now it is not a good time for it.
The most important part of the renaming remains intact.

Partially reverts commit "Rename scripting libs and plugin - invert embeddable suffix"
2020-05-27 13:15:50 +02:00
Sergey Rostov eb338e2e91 Scripting IDE cache: unblocking concurrent update
#KT-38875 Fixed

(cherry picked from commit 63e355d979)
2020-05-26 19:22:15 +03:00
Sergey Rostov e3ed8870dd scripting, sdk cache: same key for locating sdk 2020-05-26 19:22:09 +03:00
Sergey Rostov 8d00ec1933 scripting: fixes after rebase 2020-05-26 19:22:08 +03:00
Sergey Rostov 74b189fa54 idea.core.script.ucache: remove cyrilic "c" in package name 2020-05-26 19:22:08 +03:00
Sergey Rostov 72aba2fce2 IDE scripting: add default sdk only when used 2020-05-26 19:22:07 +03:00
Sergey Rostov 44f6d490b6 scripting ucache: update synchronously in unit test mode 2020-05-26 19:22:06 +03:00
Sergey Rostov 8f8ee1ea83 Scripting unified cache: update sdks synchronously on changes 2020-05-26 19:22:06 +03:00
Sergey Rostov 494a4460c1 minor: ScriptingSupport.Provider -> ScriptingSupport, KDoc 2020-05-26 19:22:05 +03:00
Sergey Rostov c604ef1255 Scripting, minor: updateScriptDefinitions -> updateScriptDefinitionReferences 2020-05-26 19:22:05 +03:00
Sergey Rostov cfe6fee1ca ScriptClassRootsCache, sdk: use toSystemIndependentName 2020-05-26 19:22:05 +03:00
Sergey Rostov ec9608b00d ScriptClassRootsUpdater, updateSynchronously: cancel before waiting for lock 2020-05-26 19:22:04 +03:00
Sergey Rostov 59c35fe35c ScriptClassRootsUpdater: fix clearing scheduledUpdate and check cancelled in sync 2020-05-26 19:22:04 +03:00
Sergey Rostov 381d505430 ScriptClassRootsUpdater: run synchronously in unit test mode 2020-05-26 19:22:02 +03:00
Sergey Rostov 4e8b1634e6 UnusedSymbolInspection: load script configurations from cache 2020-05-26 19:22:02 +03:00
Sergey Rostov f161276949 .gradle.kts, listener: support multiple gradle projects linked to one IntelliJ project
GradleScriptInputsWatcher moved to GradleScriptListener.kt and GradleBuildRootsManager.kt
2020-05-26 19:22:01 +03:00
Sergey Rostov e376a04b5a gradle.kts: docs 2020-05-26 19:22:00 +03:00
Sergey Rostov d6adab785a ScriptConfigurationManager: take OutsidersPsiFileSupport into account 2020-05-26 19:22:00 +03:00
Sergey Rostov bfa88267ec Scripts, minor: get rid of ScriptingSupportHelper 2020-05-26 19:22:00 +03:00
Sergey Rostov 381374d339 gradle.kts: solve the linked gradle builds hell 2020-05-26 19:22:00 +03:00
Sergey Rostov 560c2b62ef ScriptConfigurationManager, outsider files: search in roots cache too 2020-05-26 19:21:59 +03:00
Sergey Rostov 347f69b1fd ScriptConfigurationManager: rebuild cache synchronously from default loader 2020-05-26 19:21:59 +03:00
Sergey Rostov feac19f46e gradle.kts: cache definitions 2020-05-26 19:21:59 +03:00
Sergey Rostov 4e61758188 CompositeScriptConfigurationManager: unified caching 2020-05-26 19:21:58 +03:00
Ilya Chernikov 2509dfb287 Rename scripting libs and plugin - invert embeddable suffix
now regular, unshaded libs, are named with suffix `-unshaded`, while
former `-embeddable` ones named without any suffix. This will encoursge
use of the shaded libs by default, avoiding conflicts with 3-party
libs packed into the `kotlin-compiler`.
Note, that only the "frontline" libs are renamed to avoid switching
problems, the ones that not normally used directly are left as is,
including the `kotlin-compiler` itself.
2020-05-26 15:58:25 +02:00
Vladimir Dolzhenko 2d0445ebaa Add klib extension to ARCHIVE fileType
Fixed to #KT-38767
Relates to #KT-38571
2020-05-20 13:24:11 +00:00
Vladimir Dolzhenko 88efac00b3 Disable klib fileType in lue of KLibFileTypeFactory
Relates to #KT-38767
Relates to #KT-38571
2020-05-20 10:07:03 +00:00