Mikhail Glukhikh
9170aa0674
Distinguish PARTIAL_WITH_CFA resolve mode from just PARTIAL
...
So #KT-23182 Fixed
2018-03-28 12:04:33 +02:00
Alexey Tsvetkov
8a82c1618c
Use Plugins DSL in Kotlin Gradle scripts
...
When plugins DSL is used, there is no need to
manually generate typesafe accessors for extensions and
conventions (by running `./gradlew kotlinDslAccessorsSnapshot`).
2018-03-26 16:09:29 +03:00
Nikolay Krasko
0b0eb210b6
Refactoring: get module language settings in ResolverForProjectImpl
2018-03-23 18:04:06 +03:00
Nikolay Krasko
586860e03a
Refactoring: store correspondent module info in module content
2018-03-23 18:04:01 +03:00
Nikolay Krasko
dced45d1bf
Refactoring: rename AnalyzerFacade -> ResolverForModuleFactory
2018-03-23 18:03:52 +03:00
Nikolay Krasko
0f441760c2
Refactoring: remove usages of analyzeFully
...
Function isn't removed because it has usages from other plugins
2018-03-23 17:58:11 +03:00
Nikolay Krasko
059013a8d3
Rename: analyzeFullyAndGetResult -> analyzeWithAllCompilerChecks in ResolutionFacade
2018-03-23 17:58:11 +03:00
Nikolay Krasko
f2b478f304
Rename: analyzeFullyAndGetResult -> analyzeWithAllCompilerChecks in resolutionApi.kt
2018-03-23 17:58:10 +03:00
Alexey Sedunov
df4cd14161
Move: Relax private/protected visibility checks for usages in Java code
2018-03-06 15:15:43 +03:00
Yan Zhulanow
34d1611ed4
Add Pill support to compiler and IDE modules
2018-03-02 03:15:17 +03:00
Nikolay Krasko
08a46c1396
Refactoring: move idea source modules classes to caches/project package
2018-02-26 18:42:58 +03:00
Pavel V. Talanov
8600add7f7
Refactor: extract utils related to DslMarker to a separate object
2018-02-21 14:44:08 +01:00
Mikhail Glukhikh
84993ec3a0
Resolution API: introduce and use KtElement.resolveToCall()
2018-02-20 20:25:42 +03:00
Mikhail Glukhikh
513376e5f0
Introduce KtNamedFunction.resolveToDescriptorIfAny()
2018-02-20 20:25:42 +03:00
Mikhail Glukhikh
5848bc9a44
Introduce KtClassOrObject.resolveToDescriptorIfAny()
2018-02-20 20:25:42 +03:00
Mikhail Glukhikh
bd0cbb716c
Rename: analyzeWithDeclarations --> analyzeWithContent()
2018-02-20 20:25:41 +03:00
Mikhail Glukhikh
f6513cd17e
Introduce resolveToParameterDescriptorIfAny(), drop reified version
2018-02-20 20:25:41 +03:00
Mikhail Glukhikh
7a1b3cd224
Introduce & use resolveToDescriptorIfAny<DescriptorType>
...
This allows to omit casts after resolveToDescriptorIfAny() call,
get different descriptors for different receivers (in future),
distinguish parameter / property situation for primary constructor
2018-02-20 20:25:41 +03:00
Mikhail Glukhikh
8c97f8cbb5
Deprecate KtElement.analyzeFullyAndGetResult(), use analyzeAndGetResult
2018-02-20 20:25:41 +03:00
Mikhail Glukhikh
eabc7c9ba8
Replace some KtDeclaration.analyze() with resolveToDescriptorIfAny()
...
Also, enhance comment on KtElement.analyze()
2018-02-20 20:25:40 +03:00
Mikhail Glukhikh
8986b8a1a2
Introduce analyzeWithContent() & analyzeWithDeclarations()
...
These functions have more clear names & receivers.
Old analyzeFully() applied on KtElement made deprecated
because for general KtElement it's unclear what is "full analysis"
2018-02-20 20:25:38 +03:00
Dmitry Savvinov
0929673576
Refactor DataFlowValueFactory into proper component
2018-02-20 13:11:33 +03:00
Simon Ogorodnik
470a4bb615
Fix Missing documentation inspection for primary ctor properties
...
#KT-20954 fixed
#KT-21005 fixed
2018-02-12 13:41:50 +03:00
Vyacheslav Gerasimov
89a07ded1c
Extract versions and remove unnecessary '.jar' extensions
2018-01-30 17:06:18 +03:00
Ilya Chernikov
7e21573cf4
Convert the rest of the project to intellij repo prepared in buildSrc
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Ilya Chernikov
0d264793ce
Convert idea plugin modules to intellij plugin
2018-01-30 17:06:07 +03:00
Denis Zharkov
31e73e90d6
Explicitly state that PluginDeclarationProviderFactory is source-only
...
Before this change `filesScope` was effectively empty in cases when
module info is a library, thus looking
into PackageIndexUtil.packageExists(name, indexedFilesScope, project)
was kind of redundant since it always returns false for empty scopes
The initial motivation was run by 1716720604
that made PackageIndexUtil::packageExists calls much more frequent
2018-01-25 14:41:28 +03:00
Denis Zharkov
4d378912bf
Minor. Reformat JVM/JS analyzer facades
2018-01-25 14:41:28 +03:00
Alexander Udalov
907f53e539
Refactor ConstantValue implementations
...
Remove KotlinBuiltIns and take a ModuleDescriptor instance in getType
instead. This will allow to create constant values in contexts where
there's no module or built-ins accessible (such as, deserialization of
module annotations during indexing of .kotlin_module files in IDE).
Note that some values (KClassValue, EnumValue, AnnotationValue) still
take module-dependent objects (KotlinType, ClassDescriptor and
AnnotationDescriptor respectively). This is to be refactored later
2018-01-18 12:49:38 +01:00
Nicolay Mitropolsky
d7fcc69315
KotlinLanguageInjector#injectInAnnotationCall optimization: using PsiClassNamePatternCondition to avoid calling getResolvedCall
2018-01-12 13:53:08 +03:00
Simon Ogorodnik
40706de3db
Add ability to resolve kdoc links from package view
2018-01-10 16:37:07 +03:00
Mikhail Zarechenskiy
7f0cca52ca
[NI] Use definitely not-null types for smartcasts
2017-12-06 18:36:13 +03:00
Alexey Sedunov
6a9317fc57
Misc: Drop utilities for checking nullability/mutability annotations
...
Types annotated by them are already loaded as inflexible
2017-11-30 12:49:25 +03:00
Alexey Sedunov
998c312ad2
Unifier: Fix matching of callable references with expression receivers
...
#KT-21334 Fixed
2017-11-30 12:49:24 +03:00
Alexey Sedunov
bcdb46653c
Line Markers: Detect recursive calls of companion invoke() member
...
#KT-21076 Fixed
2017-11-27 21:19:23 +03:00
Mikhail Glukhikh
64a51fe0d1
Implicit this inspection: minor cleanup
2017-11-02 14:07:46 +03:00
Kirill
89c4196c06
Add inspections for implicit and explicit 'this' #KT-4580 Fixed
2017-11-02 14:07:45 +03:00
Simon Ogorodnik
8631e898a7
KT-12797: Fix completion to show inner classes from base class
...
#KT-12797 fixed
2017-10-25 18:07:37 +03:00
Simon Ogorodnik
d12f5c79a1
KT-20506: Fix completion suggests the same value recursively
...
Check for excludeNonInitializedVariable via PSI, not by
descriptors equality, because of bindingContext caching
#KT-20506 fixed
2017-10-25 18:05:46 +03:00
Simon Ogorodnik
98310d3bdb
KT-20884: Support receiver reference in KDoc comments
...
#KT-20884 fixed
2017-10-25 17:54:47 +03:00
Simon Ogorodnik
94e39a4c6c
KT-20888: Do not report missing documentation when inherit from lib
...
Find KDoc using DescriptorToSourceUtilsIde when required
#KT-20888 fixed
2017-10-25 17:54:46 +03:00
shiraji
31a1fb916a
Implement an intention action to move a companion object member to top level
...
#KT-18828 Fixed
(cherry picked from commit 11f8f8b)
2017-10-23 17:29:28 +03:00
Denis Zharkov
1c9b454d90
Rename KotlinTypeFactory::simpleType to simpleTypeWithNonTrivialMemberScope
...
To state it must be used only for limited number of cases
2017-10-10 18:27:00 +03:00
Mikhail Glukhikh
912ddfcb2b
Build name correctly in ShadowedDeclarationsFilter
...
So #KT-16383 Fixed
Also should fix EA-104812, EA-99338, EA-107064
2017-10-02 17:41:24 +03:00
Mikhail Glukhikh
9aa25f8af8
Code cleanup: shadowed declarations filter
2017-10-02 17:41:24 +03:00
Mikhail Glukhikh
5687fe6e39
Introduce ModuleDescriptor.findImplementingDescriptor() via facets
...
This function is now used instead of allImplementingCompatibleModules,
thus allowing it to be deleted together with allImplementingModules
So #KT-17369 Fixed
So #KT-17374 Fixed
May fix also some other MPP issues
2017-09-28 15:15:02 +03:00
Denis Zharkov
69f3b01e98
Introduce ImportingScope::computeImportedNames
2017-09-28 14:01:30 +03:00
Denis Zharkov
cd3edfc5b2
Introduce MemberScope::classifierNames and some implementations
...
It aims to help with further optimizations
2017-09-28 14:01:30 +03:00
Alexander Podkhalyuzin
3f8170d369
Clean idea files generated on the gradle import, add them to .gitignore
2017-09-19 23:58:27 +02:00