Commit Graph

296 Commits

Author SHA1 Message Date
Stanislav Erokhin 59efedf610 Rename platform to header. 2016-12-13 18:00:00 +03:00
Dmitry Jemerov 7e92cf2af7 Don't create light classes for platform declarations
#KT-15137 Fixed
2016-12-12 20:47:45 +01:00
Dmitry Jemerov d6cd1486c6 Implement supertype access methods in KtLightClassForFacade without delegate access (EA-92490 - ISE: KtLightClassForFacade.getClsDelegate) 2016-12-12 17:50:27 +01:00
Alexey Sedunov 1bde0e12fd Rename: Fix exceptions on moving file with facade class to another package
#KT-14325 Fixed
2016-11-30 14:35:40 +03:00
Alexey Sedunov 9967d4c4e2 Move: Fix EA-1266148 2016-11-30 14:35:31 +03:00
Dmitry Jemerov 763782083c Implement KtLightTypeParameter.isEquivalentTo() without referencing delegate (this is faster and more correct) 2016-11-23 18:29:25 +01:00
Dmitry Jemerov c56a72d442 Retrieve virtual file for PsiFile via FileViewProvider, which always has a non-null vFile (EA-89047 - assert: LightClassDataProvider.getRepresentativeVirtualFile) 2016-11-23 18:29:23 +01:00
Dmitry Jemerov 89313b3495 Fix exception when companion object is on the top level of a file (EA-89388 - CCE: LightClassUtil$getWrappingClasses$.invoke) 2016-11-23 18:29:23 +01:00
Dmitry Jemerov d803831548 A facade light class inherits only java.lang.Object (EA-91597 - NPE: KtLightClassForFacade.getClsDelegate) 2016-11-23 18:29:20 +01:00
Yan Zhulanow c2ddd943f9 Lint: Update diagnostics because of the new Uast. Also, these diagnostics are from AS 2.2. 2016-11-01 19:36:31 +03:00
Simon Ogorodnik 3382ab3d9c Fix for KT-14141: Go to Symbol shows Kotlin extensions from Java's point of view 2016-10-27 20:38:05 +03:00
Alexander Udalov 2f81d48f5e Use ClassId instead of FqName in JavaToKotlinClassMap
Extract mapJavaToKotlin which returns ClassId and needs no KotlinBuiltIns
instance
2016-10-25 15:42:32 +03:00
Alexey Sedunov 394859afc5 Light Classes: Avoid empty scope on KtLightParameter
#KT-13882 Fixed
2016-10-18 16:48:09 +03:00
Dmitry Jemerov ce0d81f670 to avoid running resolve under ClsTypeElement lock, return empty modifier list if we're currently calculating the return type (the modifier list is requested to apply type annotations, and we don't care about them anyway)
#KT-12966 Fixed
2016-10-10 12:48:51 +02:00
Dmitry Jemerov e55c82d3f3 don't try to resolve declaration to descriptor if we don't have any annotations 2016-10-10 12:46:35 +02:00
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