Commit Graph

281 Commits

Author SHA1 Message Date
Alexey Sedunov 3f6e60fb51 Call Hierarchy: Show Kotlin usages of Java methods
#KT-12398 Fixed
2016-10-05 11:32:43 +03:00
Dmitry Jemerov d8b0c7aaec Binding trace filtering: do not calculate diagnostics if no one is going to query them 2016-10-04 18:50:30 +02:00
Simon Ogorodnik 18feb8f622 Return Kotlin fields and methods through KotlinShortNameCache
#KT-12205 Fixed
2016-09-28 13:36:20 +02:00
Pavel V. Talanov b275dacad8 Light classes: getOwnInnerClasses() filters out inner classes with null names
#KT-13927 Fixed
2016-09-26 19:51:57 +03:00
Yan Zhulanow 884e653490 Kapt: Add ability to get constant value from KtLightAnnotation
(cherry picked from commit 7180961)
2016-08-29 16:31:16 +03:00
Alexey Sedunov fbd6edce92 Light Classes: Support property accessors with non-conventional names
#KT-13032 Fixed
2016-08-17 12:28:46 +03:00
Alexey Sedunov ab7d48a34e Light Classes: Do not compute annotations for light elements with invalid
origin (possible fix for KT-13199)
2016-08-10 11:45:40 +03:00
Pavel V. Talanov 30892e0154 KtLightClassForDecompiledDeclaration is now marked by KtLightClassMarker
Rename: KtJavaMirrorMarker -> KtLightClassMarker
Introduce code to be able to tell light classes from source and binaries apart in 'frontend.java'
2016-08-03 17:29:06 +03:00
Pavel V. Talanov 5600433baf KtLightClassForSourceDeclaration.create(): check for enum entry earlier 2016-07-28 18:00:59 +03:00
Pavel V. Talanov 82a2b94490 LightClassDataProvider: FqName calculation is redundant now 2016-07-28 18:00:58 +03:00
Pavel V. Talanov 4ee0f7052f StubClassBuilder: correctly calculate short name when building delegates for light classes 2016-07-28 18:00:56 +03:00
Pavel V. Talanov c85ddc3da2 Do not build light classes for scripts
Supports old behaviour
2016-07-28 18:00:55 +03:00
Pavel V. Talanov 913a1baf56 FqName is not required to create source light classes 2016-07-28 18:00:54 +03:00
Pavel V. Talanov 5a1a1fc03a Drop KtLightClass#getFqName() and some usages of classFqName in KtLightClassForDecompiledDeclaration 2016-07-28 18:00:53 +03:00
Pavel V. Talanov 1fda24fbbf Local classes do not have qualified names
Mirros java psi
2016-07-28 18:00:52 +03:00
Pavel V. Talanov 85fb16ef1b Refactor: restructure light class hierarchy for sources
KtLightClassBase
	| KtLightClassForSourceDeclaration
		| KtLightClassImpl (new!) // top level or inner/nested of top level class
		| KtLightClassForInterfaceDefaultImpls
		| KtLightClassForLocalDeclaration (new!)
			| KtLightClassForAnonymousDeclaration
				| KtLightClassForEnumEntry
2016-07-28 18:00:52 +03:00
Pavel V. Talanov 252235787d Refactor: rename KtWrappingLightClass -> KtLightClassBase 2016-07-28 18:00:51 +03:00
Pavel V. Talanov 999c8e7486 Refactor: rename KtLightClassForExplicitDeclaration -> KtLightClassForSourceDeclaration 2016-07-28 18:00:50 +03:00
Pavel V. Talanov b686b37cbf Refactor: move KotlinCodeBlockModificationListener to 'idea-analysis' module 2016-07-28 18:00:49 +03:00
Pavel V. Talanov 0294551433 Refactor: move OldPackageFacadeClassUtils to 'frontend.jvm' module 2016-07-28 18:00:48 +03:00
Pavel V. Talanov cdbd7fbab0 Refactor: split classes in 'asJava' package into several subpackages to reflect their structure 2016-07-28 18:00:47 +03:00
Nikolay Krasko 033efbda41 Refactoring: move KtLightField interface to file with light elements 2016-07-28 18:00:46 +03:00
Pavel V. Talanov 0b4c6bd889 Drop PsiCodegenPredictor 2016-07-28 18:00:45 +03:00
Dmitry Jemerov 3ad6daea6c fix muted test KotlinFindUsagesWithLibraryTestGenerated$KotlinLibrary.testLibraryCompanionObjectUsages 2016-07-19 13:25:58 +02:00
Dmitry Jemerov 5201fc171b ClsWrapperStubPsiFactory can be a singleton 2016-07-13 13:16:15 +02:00
Nikolay Krasko e2bcdf8b9c Postpone counting fqName for anonymous classes (KT-12645)
#KT-12645 Fixed
2016-06-30 15:54:59 +03:00
Alexey Sedunov b83902a8b5 Rename: Update references to facade class when renaming file via matching top-level class
#KT-11903 Fixed
(cherry picked from commit a1d9a25)
2016-06-28 15:07:39 +03:00
Alexey Sedunov 89816c5f12 References: Support implicit references to annotation method 'value'. Support Find Usages/Rename on these references
#KT-12657 Fixed
(cherry picked from commit 68d0d84)
2016-06-28 15:07:28 +03:00
Alexey Sedunov 248f4c1645 Light Classes: Implement light elements for 'extends'/'implements' reference lists. Support adding/removing of super type list entries via light elements.
Fix exception on applying "Convert to class" intention to Java interface with Kotlin inheritor(s)
 #KT-11281 Fixed
(cherry picked from commit 4ec4914)
2016-06-28 15:07:24 +03:00
Alexey Sedunov 04f54bee88 Rename: Process property accesor usages (Java) in comments and string literals
#KT-9435 Fixed
(cherry picked from commit 911afee)
2016-06-28 15:07:03 +03:00
Alexey Sedunov 77b0bb9849 Rename: Implement Rename conflict analysis for properties. Qualify property references to resove rename conflicts when possible
#KT-8732 Fixed
 #KT-12543 Fixed
(cherry picked from commit e23029d)
2016-06-28 15:06:49 +03:00
Nikolay Krasko 490ff621b6 Implement isInheritor method with utility method that has special behaviour for anonymous classes 2016-06-16 18:50:40 +03:00
Nikolay Krasko 784fd963cd Implement copy methods for anonymous and enum entry light classes 2016-06-16 18:50:39 +03:00
Nikolay Krasko 29b94f650c Make Kotlin light class more like PsiAnonymousClassImpl
Avoid delegating to cls delegate in more places
2016-06-16 18:50:39 +03:00
Nikolay Krasko 9359d0aab4 Compare anonymous classes with psi only to avoid counting qualified name 2016-06-16 18:50:38 +03:00
Nikolay Krasko 688c742802 j2k: minor fixes in KtLightClassForAnonymousDeclaration 2016-06-10 14:17:36 +03:00
Nikolay Krasko 4679ae60ab j2k: actual convert KtLightClassForAnonymousDeclaration 2016-06-10 14:17:35 +03:00
Nikolay Krasko 81b94d0988 j2k: rename KtLightClassForAnonymousDeclaration 2016-06-10 14:17:31 +03:00
Nikolay Krasko 9e9c670ada Minor: clean up and reformat 2016-06-10 14:17:20 +03:00
Dmitry Jemerov 7e2ce2d4e0 when finding usages of parameter of annotation class primary constructor, search also for light method generated from that parameter
#KT-9399 Fixed
2016-06-07 14:50:09 +02:00
Alexey Sedunov cf8cf37d69 Light Classes: Drop obsolete constraint which prevents generation of light methods for local class members
#KT-8892 Fixed
2016-06-02 15:28:34 +03:00
Alexey Sedunov 96132fa61a Rename: @JvmName support
#KT-8044 Fixed
 #KT-9432 Fixed
2016-06-02 15:28:27 +03:00
Pavel V. Talanov 3a3e145de2 KtLightMethod: Wrap return type so it resolves to light method's type parameter as opposed to delegate's
Affects java type inference in IDEA

  #KT-12090 Fixed
  #KT-11095 Fixed
2016-05-27 13:13:01 +03:00
Alexey Sedunov ec0f21c887 Spring Support: Fixed rename of custom-named beans specified with Kotlin annotation
#KT-12096 Fixed
2016-05-26 20:59:09 +03:00
Alexey Sedunov 076e31c0f8 Spring Support: Automatic configuration by @Import and @ComponentScan ("basePackages"/"basePackageClasses")
#KT-12135 Fixed
 #KT-12139 Fixed
2016-05-26 20:59:07 +03:00
Alexey Sedunov d69140b7fe Code Insight: Implement package references inside of string literals
#KT-12136 In Progress
2016-05-26 20:59:03 +03:00
Alexey Sedunov d52e62b20d Light Classes: Consider FakeFileForLightClass instances equivalent if they correspond to the light classes with common KtFile
#KT-12117 Fixed
2016-05-26 20:59:01 +03:00
Pavel V. Talanov 710e920df7 lightClassUtils: Fix CCE when trying to obtain KtLightTypeParameter
#KT-12259 Fixed
2016-05-25 15:58:11 +03:00
Pavel V. Talanov 62421bbf7b 'const val' are now considered constants by Java in IDEA
#KT-12026 Fixed
2016-05-25 15:58:09 +03:00
Pavel V. Talanov 3cb38e7f02 Implement getLanguageLevel for FakeFileForLightClass
#KT-12006 Fixed
2016-05-25 15:58:07 +03:00