Commit Graph

2405 Commits

Author SHA1 Message Date
Nikolay Krasko bc7ccbc39b Fix stub mismatch for top level declaration with JvmPackageName (KT-21831)
ClassId stores jvm name and it differs from kotlin name in that case.

 #KT-21831 Fixed
2018-03-14 21:16:58 +03:00
Alexander Udalov 3f3e05a9d2 Move essential metadata-related classes to 'metadata' and 'metadata.jvm' 2018-03-14 12:25:16 +01:00
Alexander Udalov 88dea9aa70 Move NameResolver to module 'metadata' and J2K
Also move NameResolverImpl to 'metadata' and JvmNameResolver to
'metadata.jvm'
2018-03-14 12:25:16 +01:00
Alexander Udalov 0ba42850f9 Drop ClassData and PackageData, rename ClassDataWithSource -> ClassData
Use pairs in JvmProtoBufUtil for simplicity
2018-03-14 12:25:15 +01:00
Alexander Udalov b07c6086cd Remove dependency of NameResolverImpl on FqName
Remove AbstractJsProtoComparisonTest.getProtoData in favor of
(apparently copy-pasted) IncrementalJsCache.getProtoData
2018-03-14 12:25:12 +01:00
Alexander Udalov 4f81e572c7 Make NameResolver.getName extension instead of member
To get rid of dependency of NameResolver on Name
2018-03-14 12:25:11 +01:00
Alexander Udalov e31f286444 Make NameResolver.getClassId extension instead of member
To get rid of dependency of NameResolver on ClassId
2018-03-14 12:25:11 +01:00
Alexander Udalov 27ad4f7d5d Move ProtoBuf classes to package org.jetbrains.kotlin.metadata 2018-03-14 12:25:10 +01:00
Pavel V. Talanov 32516a3f33 Refactor: split *LightClassGenerationSupport into separate files
Move cli binding trace implementation to top level
2018-03-12 12:05:05 +01:00
Pavel V. Talanov f421181e16 Split LightClassGenerationSupport into separate entities
LightClassGenerationSupport:
    Includes utilities related to generating light classes
    Primary client of this service are KtLight* implementation classes
KotlinAsJavaSupport:
    Provides APIs to transform kotlin code into Psi* entities
    Primary client of this service is JavaElementFinder
2018-03-12 12:04:59 +01:00
Alexey Sedunov d9aa1796cd MPP: Support multiple 'expectedBy' dependencies for single module
#KT-22865 Fixed
2018-03-07 18:34:03 +03:00
Dmitry Jemerov 81adbcb7e6 Support for implicit package prefixes
Now, if all Kotlin files directly under a source root have the same
package statement, it's used as an implicit package prefix for that
source root. It's honored by the package name/directory name mismatch
inspection and by new file creation actions;
support in refactorings is TODO.

 #KT-17306 Fixed
2018-03-07 10:31:57 +01:00
Alexey Sedunov 5bff4b9f39 Rename: Allow deleting name of companion object
#KT-20178 Fixed
2018-03-06 15:15:42 +03:00
Alexey Sedunov d690aedb89 References: Fix resolution of delegate reference for local variables
#KT-22229 Fixed
2018-03-06 15:15:40 +03:00
Pavel V. Talanov d2b90b84f8 KotlinFileStubForIde: save full facadeFqName
Prefix is not necessarily same as packageFqName since JvmPackageName was introduced
2018-03-06 12:05:53 +01:00
Nikolay Krasko 9e061555af Use anchor for element to avoid working with invalid element (KT-22631)
Element in constructor can be invalidated when dumb mode begins/ends.
Working with invalid elements can produce nodes without icons and bad
presentation.

 #KT-22631 Fixed
2018-03-06 13:04:26 +03:00
Nikolay Krasko bb9933a8f9 Reformat: structureView package 2018-03-06 13:04:25 +03:00
Pavel V. Talanov 6c4537accc Create InvalidLightClassDataHolder for expect classes
This fixes an exception from duplicateJvmSignature reporter
Fixes "QuickFixTestGenerated$Override.testDontOfferToImplementMembersForExpectedClass" on teamcity
2018-03-05 18:07:38 +01:00
Nikolay Krasko 90802f2d7c Refactoring: remove ModuleResolverProvider, inline createModuleResolverProvider 2018-03-05 15:20:53 +03:00
Nikolay Krasko de68607d5f Refactoring: move JavaResolveExtension.kt to util package 2018-03-05 15:20:53 +03:00
Alexey Sedunov e63e48933d Move: Add import for top-level declarations moved to the default package
#KT-22661 Fixed
2018-02-28 14:03:42 +03:00
Nicolay Mitropolsky 2f6fb4091b making LambdaArgument methods nullable
overridden `LambdaArgument.getArgumentExpression` removed because it is already nullable in parent

#EA-117013
2018-02-28 12:13:12 +03:00
Nikolay Krasko 9026582352 Minor: rename file 2018-02-26 18:42:58 +03:00
Nikolay Krasko c5fc195754 Refactoring: move collectAllModuleInfosFromIdeaModel function 2018-02-26 18:42:58 +03:00
Nikolay Krasko 60af145170 Refactoring: move package ../caches/resolve/lightClasses -> ../caches/lightClasses 2018-02-26 18:42:58 +03:00
Nikolay Krasko 08a46c1396 Refactoring: move idea source modules classes to caches/project package 2018-02-26 18:42:58 +03:00
Nikolay Krasko 287ad512fb Refactoring: extract project structure caches to separate package 2018-02-26 18:42:57 +03:00
Nikolay Krasko a67ae0bf9f Refactoring: remove defaults values 2018-02-26 18:42:57 +03:00
Nikolay Krasko 9b8e550f3b Refactoring: move util files 2018-02-26 18:42:57 +03:00
Nikolay Krasko 931dec9cd8 Refactoring: move MapPsiToAsmDesc.kt to lightClasses package 2018-02-26 18:42:57 +03:00
Nikolay Krasko 47f4c79204 Reformat caches package 2018-02-26 18:42:57 +03:00
Pavel V. Talanov 10f6d65e03 IdeStubIndexService: do not index annotations without name
Fixes NPE after changes introduced in 8f8cbfcfa5
2018-02-22 20:29:00 +01:00
Nicolay Mitropolsky 3a609a9472 Assertions to catch EA-114080 2018-02-22 12:51:50 +03:00
Natalia Selezneva de76d75f03 Drop caches for synthetic files when dependencies changed 2018-02-22 10:00:15 +03:00
Natalia Selezneva 63aeaf9cd5 Do not highlight kts files outside source roots if not all definitions are initialized
^KT-20521 Fixed
^KT-21420 Fixed
2018-02-22 09:59:43 +03:00
Alexey Sedunov 17e64ebae0 Move: Fix processing of callable references to nested Java classes and static methods
#KT-17827 Fixed
2018-02-21 13:21:20 +03:00
Alexey Sedunov 441f88c144 Move: Fix processing of callable references to nested Kotlin classes
#KT-17827 In Progress
2018-02-21 13:21:19 +03:00
Alexey Sedunov 27d4593fc4 Move: Fix lengthening of qualified type references
KT-14519 Fixed
2018-02-21 13:21:18 +03: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 cd1745d354 Light classes: analyzeFully() --> analyzeWithDeclarations() 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 88b8652ed2 J2K: convert + get rid of analyzeFully (3 files) 2018-02-20 20:25:40 +03:00
Mikhail Glukhikh 50ce8d68bf J2K: rename *.java --> *.kt (3 files) 2018-02-20 20:25:40 +03:00
Mikhail Glukhikh 2038a5567d ResolveElementCache: remove dead branch 2018-02-20 20:25:38 +03:00
Mikhail Glukhikh 52166646bb Reformat: ResolveElementCache 2018-02-20 20:25:37 +03:00