Commit Graph

179 Commits

Author SHA1 Message Date
Nikolay Krasko 6ac73eb760 Remove blocking cache in Kotlin JavaElementFinder (KT-9811)
Attempt to remove cache completely. There's now cache in JavaPsiFacadeImpl.findClass() that probably solves the original problem.
2016-01-25 17:08:22 +03:00
Pavel V. Talanov 1fe749c114 Refactor: get rid of LightClassUtil#getPsiClass() in favor of KtClassOrObject:toLightClass extension 2016-01-21 20:47:22 +03:00
Pavel V. Talanov 2972dbca00 Rename LightClassGenerationSupport.getPsiClass -> getLightClass and make it return KtLightClass 2016-01-21 20:47:21 +03:00
Pavel V. Talanov b34a91eeaa Changes inside init blocks should be considered out of block modifications 2016-01-20 19:02:53 +03:00
Alexander Udalov e2f49536f5 Move OldPackageFacadeClassUtils to module light-classes 2016-01-19 18:54:08 +03:00
Pavel V. Talanov 8d22eafe3f Minor: prettify code 2016-01-11 16:33:20 +03:00
Pavel V. Talanov 41a8ded182 getting rid of ClsFileImpl.setPhysical
patch by Roman Shevchenko
2016-01-11 16:29:19 +03:00
Dmitry Jemerov f885459a43 fix compilation after cleanup 2016-01-08 16:01:28 +01:00
Dmitry Jemerov 117a0d8b7b compiler: cleanup 'public', property access syntax 2016-01-07 17:57:38 +01:00
Ilya Gorbunov 80916d5ed7 Cleanup in compiler modules 2015-12-29 18:04:15 +03:00
Ilya Gorbunov b71b336a69 Fix fq names of moved facade classes in imports and other code occurrences 2015-12-29 18:04:13 +03:00
Pavel V. Talanov 9096a443ea Do not build light classes for local classes when the there is no class descriptor
These cases should be dealt with and this is only a way to degrade gracefully
2015-12-29 15:57:01 +03:00
Pavel V. Talanov 4f5f56e4a5 Add and use KtPropertyAccessor#getProperty() 2015-12-29 12:32:12 +03:00
Michael Bogdanov aeb6486473 Deprecated 'INSTANCE$' replaced with 'INSTANCE' 2015-12-24 13:59:43 +03:00
Pavel V. Talanov 99966c17da Go to (show) implementations: skip light methods that are generated with DELEGATION or DELEGATION_TO_DEFAULT_IMPLS JvmDeclarationOriginKind
Add some unrelated tests for fake overrides
2015-12-22 17:30:51 +03:00
Pavel V. Talanov 8d5d1b7dcc LightClassUtil: files can no longer "belong to builtIns" 2015-12-15 20:22:14 +03:00
Michael Bogdanov a849f3f5d4 Fixed filtering error 2015-12-12 11:41:37 +03:00
Alexey Sedunov 8fcda32287 Unit Test Tooling: Support Go to Test/Create Test actions for top-level declarations
#KT-10133 Fixed
2015-12-08 16:20:47 +03:00
Alexander Udalov caa6cdb3f7 Remove obsolete code in KotlinBuilder, rename PackageClassUtils 2015-11-27 21:41:26 +03:00
Alexander Udalov 8594cfca46 Remove kotlin.jvm.internal.KotlinPackage and corresponding code 2015-11-27 21:22:04 +03:00
Yan Zhulanow 87799e9b6b Fix "operator modifier required" errors in project 2015-11-27 15:51:11 +03:00
Yan Zhulanow 46ac3571d5 Fix "infix modifier required" errors in project 2015-11-27 15:51:11 +03:00
Nikolay Krasko 29a9ba64ca Move creating sink for extra diagnostics into generation state to take responsibility for correct diagnostics suppression 2015-11-26 00:24:38 +03:00
Nikolay Krasko 652eeca872 Allow suppress additional diagnostics for JVM target
Suppression doesn't work without resolved annotation in binding context.
2015-11-26 00:24:38 +03:00
Ilya Gorbunov 32151c077e Replace map { ... }.filterNotNull() with mapNotNull { ... } 2015-11-21 00:54:01 +03:00
Pavel V. Talanov 6bb89021dd Rename: KtClassInitializer -> KtAnonymousInitializer 2015-11-19 22:57:05 +03:00
Pavel V. Talanov 6563830584 Script refactoring, backend: scripts are classes now, remove/refactor 'special code' dealing with scripts 2015-11-19 22:57:01 +03:00
Pavel V. Talanov d037068bba Turn off duplicateJvmSignature reporting for scripts until light classes are implemented 2015-11-19 22:56:58 +03:00
Dmitry Jemerov 45ef9b02c4 remove some leftovers of old package facades in IDE code 2015-11-11 19:25:11 +01:00
Pavel V. Talanov de4ea45f20 Do not compute stubs when building DefaultImpls light classes
Do not build stubs when computing inner classes of a light class
This should implicitly fix a deadlock reported in KT-9907 and KT-9811
2015-11-10 14:31:14 +03:00
Pavel V. Talanov bff7ff0c5d Improve heuristic to decide whether we will generate DefaultImpls for interface
This is not accurate, there are some cases when we will generate DefaultImpls class that are not covered:
- Inherited default implementations
- Annotated members

In these cases IDE will report an error when in fact code compiles
What is critical though is to be able to decide whether to build DefaultImpls light classes solely based on psi without triggering stubs calculation
2015-11-10 14:31:11 +03:00
Pavel V. Talanov ad87ec12cd Fast implementation for KtLightClassForExplicitDeclaration#getContainingClass()
Prevent computing stubs for light classes for nested/inner classes when calling completion from java
2015-11-10 14:31:08 +03:00
Pavel V. Talanov 73cb94a3b2 FakeFileForLightClass: implement API correctly 2015-11-10 14:30:59 +03:00
Pavel V. Talanov 39dacbf3c8 Minor: better toString() 2015-11-10 14:30:58 +03:00
Pavel V. Talanov 1dd7e0edba Minor: do not pass psiManager redundantly 2015-11-10 14:30:57 +03:00
Pavel V. Talanov 6dbe8e8a1b Minor: KtLightClassForFacade remove old todos and fix toString 2015-11-10 14:30:55 +03:00
Pavel V. Talanov 085d95a5b8 Tests: Introduce LightClassComputationControl to track when stubs for light classes are built
Use it to track when light classes are built in KotlinSourceInJavaCompletionTest
2015-11-10 14:30:53 +03:00
Pavel V. Talanov ec48b54032 Rename KotlinJavaFileStubProvider and remove StubGenerationStrategy class 2015-11-10 14:30:51 +03:00
Pavel V. Talanov 7e091d0df4 J2K KotlinJavaFileStubProvider: refactor code 2015-11-10 14:30:48 +03:00
Pavel V. Talanov 75b8985468 J2K KotlinJavaFileStubProvider: autoconvert and minor changes 2015-11-10 14:26:29 +03:00
Pavel V. Talanov 6f02c0593b J2K KotlinJavaFileStubProvider: rename file 2015-11-10 14:25:19 +03:00
Dmitry Jemerov e64a270d1a more renames to get rid of "Jet" in class and method names 2015-11-09 19:07:11 +01:00
Nikolay Krasko 178aba54dd Test it's safe to call PsiElement methods on Kotlin light elements 2015-11-07 01:27:34 +03:00
Dmitry Jemerov 3bd7f87d2b rename "Jet" from names of IDE classes; consistently use Kt prefix for PSI elements and classes directly related to specific PSI elements 2015-11-02 18:49:35 +01:00
Pavel V. Talanov 78bb44850d Minor: KotlinAnnotationLightMethod -> KotlinLightAnnotationMethod 2015-11-02 18:39:00 +03:00
Pavel V. Talanov 9f5c0741bd KotlinLightField: create KotlinLightEnumConstant based on delegate psi, not whether could find original declaration
This was not true for decompiled classes and led to enum entries from kotlin compiled files being unresolved in java
2015-11-02 18:38:58 +03:00
Pavel V. Talanov e5f075c7f6 Refactor light fields: move all implementation into one file and prettify code 2015-11-02 18:38:52 +03:00
Pavel V. Talanov e6b498f943 J2K KotlinLightField: convert and fix compilation 2015-11-02 18:38:50 +03:00
Pavel V. Talanov d7519225a0 J2K KotlinLightField: rename file 2015-11-02 18:38:49 +03:00
Pavel V. Talanov f8efdacefd Refactor light methods: drop KotlinLightMethodForTraitFake and KotlinNoOriginLightMethod
Move two remaining meaningful implementation into one place
Move code that choose which implementation to use out of KotlinWrappingLightClass
2015-11-02 18:38:47 +03:00