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
Ilya Chernikov
deda50dbbb
Continue switching projects to improved dsl: sourceSets and test running
2017-09-19 21:37:26 +02:00
Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Mikhail Zarechenskiy
a63495aa0b
Use language version settings of definitely known module
2017-09-15 08:16:25 +03:00
Mikhail Zarechenskiy
b1d9abdf83
Propagate languageVersionSettings to resolution context
2017-09-14 18:27:34 +03:00
Mikhail Glukhikh
92215b41b9
Replace resolveToDescriptor with unsafeResolveToDescriptor
...
Now unsafeResolveToDescriptor is equivalent to resolveToDescriptorIfAny
but throws exception in case no descriptor is found.
Old version of resolveToDescriptor is kept intact but made deprecated.
Some clarifying comments were added
2017-09-14 17:20:37 +03:00
Mikhail Glukhikh
0f9d31c9d1
Patch resolveToDescriptorIfAny() for parameter case
...
Now property descriptor is returned for primary constructor val / var,
otherwise parameter descriptor is returned.
2017-09-14 15:08:06 +03:00
Mikhail Glukhikh
04b8f1db6e
Minor: convert to expression body applied (resolutionApi)
2017-09-14 15:08:05 +03:00
Denis Zharkov
b905ddeac9
Memoize deprecations-related computations
...
It might be helpful for performance as these methods are called
for each resolution candidate and in the same time they scan
the whole overridden tree of a callable member
2017-09-13 15:34:14 +03:00