Commit Graph

2537 Commits

Author SHA1 Message Date
Natalia Selezneva d241c092e2 Fix deadlock in ScriptTemplatesFromCompilerSettingsProvider
^KT-25373 Fixed
2018-07-11 16:23:58 +03:00
Alexander Udalov e937fe8258 Move PackagePartProvider to module descriptors.jvm 2018-07-10 15:16:49 +02:00
Alexander Udalov 2cb4b7c6d4 Extract MetadataPartProvider out of PackagePartProvider 2018-07-10 15:16:49 +02:00
Alexander Udalov e25bc2865f Remove PackagePartProvider from ResolverForProjectImpl
To be able to move it to JVM-specific modules, and to provide a
replacement for common module analysis
2018-07-10 15:16:49 +02:00
Pavel Talanov 2ecddc996a Implement support for static resolving to scripts in source roots in IDEA 2018-07-10 08:43:50 +02:00
Mikhail Zarechenskiy 14b8ff7d71 Load unsigned constants from class file with the use of expected type 2018-07-09 20:19:26 +03:00
Dmitry Savvinov 2783e9939b Fix internal-visibility mangling in IDE
Collect module name properly from facets settings, using CLI arguments
which define module name ('-module-name' on JVM and Common,
'-output-file' on JS).

^KT-23668 Fixed
2018-07-09 18:50:50 +03:00
Alexander Udalov 959c2f4843 Get rid of split packages in descriptors, descriptors.jvm, deserialization
Also move some other files to related packages and reformat moved files
2018-07-06 14:08:35 +02:00
Mikhail Glukhikh 537655a4c2 KotlinInspectionSuppressor: introduce more precise quick-fix names
Related to KT-11154, KT-25169
2018-06-29 11:58:28 +03:00
Mikhail Glukhikh c4bba135bf Introduce KotlinInspectionSuppressor
So #KT-25169 Fixed
So #KT-11154 Fixed
2018-06-29 10:43:02 +03:00
Nikolay Krasko c68284030d Check files is valid before searching for children (EA-113417) 2018-06-28 16:02:14 +03:00
Mikhail Glukhikh e885e54233 Implement search from expect element in KotlinReferenceSearcher
So mostly #KT-17512 Fixed
2018-06-26 15:36:06 +03:00
Mikhail Glukhikh 0a36edcf20 Cleanup: KotlinReferenceSearcher 2018-06-26 15:36:01 +03:00
Nikolay Krasko 84b26fc61d Show kotlin internal information only in internal builds 2018-06-26 11:35:22 +03:00
Nikolay Krasko 341e7746a2 Minor: deprecated canBeOverriden -> canBeOverridden 2018-06-22 19:19:13 +03:00
Nikolay Krasko 6d29e44d1a Remove deprecated DirectClassInheritorsSearch.search call (KT-24933)
#KT-24933 Fixed
2018-06-22 19:19:13 +03:00
Denis Zharkov 3fcf2f9c0d Minor. Move KOTLIN_SUSPEND_BUILT_IN_FUNCTION_FQ_NAME constant to 'core'
It will be used for deserialization of kotlin.suspend in the next commit
2018-06-21 16:02:13 +03:00
Mikhail Glukhikh 152327d69d Fix erroneous full resolve cache filling
Before this commit, we could store partial resolve results in full
resolve cache (for some declarations, e.g. primary constructors).
This may be done iff current partial resolve mode provides all results
from full resolve mode (CFA results & diagnostics).
Otherwise we should not do it.

This fixes four quick-fix tests on CreateTypeParameter
So #KT-23860 Fixed
So #KT-22758 Fixed
2018-06-20 17:18:18 +03:00
Mikhail Glukhikh 40668e3f96 Partial cleanup of ResolveElementCache 2018-06-20 17:18:18 +03:00
Mikhail Glukhikh ef0eb5cbe9 KotlinProblemHighlightFilter: *perform* highlighting on library sources
This commit reverts fixing commit for KT-19377
So #KT-21710 Fixed
So #KT-19377 Submitted
2018-06-19 10:42:33 +03:00
Alexey Sedunov 8978c4b9e8 Rename: Fix processing of references to synthetic Java properties
#KT-17742 Fixed
2018-06-08 14:34:23 +03:00
Alexey Sedunov 862dc76ed9 Rename: Fix processing of overriding methods with mangled names
#KT-24460 Fixed
2018-06-08 14:34:22 +03:00
Pavel V. Talanov 463d9b690f Minor: rename PsiFile.moduleInfo -> forcedModuleInfo 2018-06-06 21:04:05 +02:00
Pavel V. Talanov 74052542b4 Minor: rename KtFile.targetPlatform -> forcedTargetPlatform
To avoid confusing with platform extension and debugging for 3 hours
2018-06-06 21:04:04 +02:00
Pavel V. Talanov ced3cf0904 Light classes: fix multifile facades for mpp modules with jvm part
When creating multifile facades respect that facade files can be both
    in common and jvm parts

 #KT-23942 Fixed
2018-06-06 21:04:02 +02:00
Pavel V. Talanov 0157d7bd5d Mpp utils: remove erroneous cache
Note: can't use Module.cached to calculate data that depends on input
   other than the module itself (isTests in this case)
2018-06-06 21:03:53 +02:00
Pavel V. Talanov 1f957de9d8 Minor: use utils appropriately 2018-06-06 21:03:52 +02:00
Pavel V. Talanov fa7531f342 Refactor: move and prettify mpp util code 2018-06-06 21:03:51 +02:00
Pavel V. Talanov 05e6c4e0a2 Minor: move utils to more appropriate place 2018-06-06 21:03:50 +02:00
Nicolay Mitropolsky 12707a6443 Uast: handling resolve to deserialized methods (KT-24679) 2018-06-06 14:05:30 +03:00
Alexander Podkhalyuzin 116a99ddb8 Fixed Icon link to proper variant 2018-06-05 17:41:47 +03:00
Dmitry Savvinov b8f8802cff Parse compiler arguments and configure LV properly in Platform.kt 2018-06-05 14:51:35 +03:00
Dmitry Savvinov 5f819b589c Minor: refactor Platform.kt 2018-06-05 14:51:35 +03:00
Alexander Podkhalyuzin 4883fbfd23 Fixed link to error icon in IDEA 2018.2
#KT-24736 Fixed
2018-06-05 11:00:55 +03:00
Alexey Sedunov 8198599ef5 Misc: Eliminate instances of IdeModifiableModelsProviderImpl or dispose them after use 2018-06-04 02:57:54 +03:00
Pavel V. Talanov dae8b12872 Mpp: fix production internals not visible from tests in platform modules
Caused by change in mpp resolve
Happened in platform modules that have expectedBy dependencies

#KT-24729 Fixed
2018-06-01 14:15:04 +02:00
Nikolay Krasko 91b86d7fba Remove explicit locks for accessing and creating cached values
Working with user data in cached value manager is already thread safe.
2018-06-01 12:08:48 +03:00
Nikolay Krasko cc04b72dfd Protect access to SLRUCache for scripts with a lock 2018-06-01 12:08:46 +03:00
Nikolay Krasko 6d7510a6f4 Minor: code cleanup in KotlinCacheServiceImpl.kt 2018-06-01 12:08:44 +03:00
Nikolay Krasko 496243c3ce Remove difference in nullable state for loadState() 2018-06-01 12:08:37 +03:00
Ilya Gorbunov 1a290d0c73 Refactor: make JvmMemberSignature a sealed class
Use JvmMemberSignature.asString instead of toString
2018-06-01 06:43:48 +03:00
Ilya Gorbunov 2f58539200 Refactor: allow to distinguish whether JvmMemberSignature is for field or for method
Introduce a method to create org.jetbrains.kotlin.load.kotlin.MemberSignature directly from JvmMemberSignature.
Create JvmFunctionSignature from JvmMemberSignature.
2018-06-01 06:43:48 +03:00
Ilya Gorbunov 36c658fd8b Introduce JvmMemberSignature to represent name and desc of jvm methods and fields
Return member name and desc in a class in order not to parse that information
from concatenated string when required.
2018-06-01 06:43:48 +03:00
Pavel V. Talanov c54967b1b4 IdeaModuleInfos: cache Module.findImplementedModules
Calling ModuleSourceInfo.expectedBy can be quite costly otherwise
    because creating IdeModifiableModuleProvider is not cheap
2018-05-28 20:02:02 +02:00
Pavel V. Talanov 607fab994c Cache result of collectModulesFromIdeaModel
Cache base module infos from idea model until next root modification
Calculate platform specific module infos (see PlatformModuleInfo)
    on demand based on cached module infos from idea model

 #KT-24144 Fixed
2018-05-28 20:02:02 +02:00
Pavel V. Talanov 406a3888c7 Minor: split getModuleInfo into separate files 2018-05-28 20:02:01 +02:00
Mikhail Glukhikh f8f3b1c6f1 Provide language version settings correctly for platform modules
So #KT-24546 Fixed
2018-05-24 16:40:52 +03:00
Natalia Selezneva 30c62bccb2 Refactoring: do not store scriptModuleInfo inside ScriptDependenciesInfo
Cache for ScriptDependenciesInfo.ForFile is dropped because there is a cache for ScriptModuleInfo, so the facade for dependencies shouldn't be created too often
Cache for ScriptDependenciesInfo.ForProject is stored in a field
2018-05-24 08:47:32 +03:00
Natalia Selezneva 2b322ecf9c Do not store external dependencies in ScriptModuleInfo
There is a cache from ScriptModuleInfo to ScriptDependenciesInfo.
In case when only script dependencies are changed we won't recreate the facade for them and will obtain external dependencies for ScriptModuleInfo stored in ScriptDependenciesInfo. So we cannot store external dependencies inside ScriptModuleInfo. The same problem is with relatedModuleSourceInfo.
2018-05-24 08:47:32 +03:00
Mikhail Glukhikh c95ed9fd20 Result unused: a few enhancements for PSI checks
Related to KT-15063, KT-24433
2018-05-22 17:13:48 +03:00