Commit Graph

128 Commits

Author SHA1 Message Date
Mikhail Glukhikh f8a70302ac Cleanup: get rid of effective visibility warnings 2015-10-28 14:31:51 +03:00
Dmitry Petrov 09f0b3fe87 KT-9721:
- Kotlin/JS still uses package facades.
Handle them properly in StubClassBuilder parentStack.
- Generate backend-related diagnostics in IDE
using light class generation for file facades.
- Drop PackageFacadeStubCache.
2015-10-26 19:37:52 +03:00
Dmitry Jemerov d6a3870101 rename Kt to Kotlin in KtType, KtIcons 2015-10-20 16:23:31 +02:00
Dmitry Jemerov 49033e0002 rename Jet* classes to Kt* 2015-10-19 21:35:30 +02:00
Michael Bogdanov c8c3e88c82 Make top-level property backing field private in bytecode 2015-10-19 19:09:30 +03:00
Nikolay Krasko 4a0eb3836f Diagnostic for EA-70732 (another try) 2015-10-19 18:38:46 +03:00
Dmitry Petrov 31a85132c6 Dropping package facades:
- use KotlinCodegenFacade to build light classes
(PackageCodegen is not enough to obtain proper diagnostics)
2015-10-19 16:03:19 +03:00
Dmitry Petrov 149e70aa07 Dropping package facades:
- light classes: do not generate light class for package facade
- drop package facades as multifile classes compilation mode support
- get rid of some additional package facade fqName usages
- update tests for light classes
2015-10-19 16:03:16 +03:00
Pavel V. Talanov d74a989d93 Tweak light classes to avoid computing stubs on certain api calls
Should speed up completion from java for certain cases
2015-10-19 15:27:48 +03:00
Michael Bogdanov 7022d84ec1 Use package part context for class generation 2015-10-18 17:53:27 +03:00
Nikolay Krasko cf7f94a559 Process request for searching class with empty qualified name without errors 2015-10-16 16:28:02 +03:00
Alexander Udalov fb5d8de84b Use type table in DescriptorSerializer, add switch to enable/disable, test 2015-10-15 18:25:40 +03:00
Ilya Gorbunov c4ef4758d2 Remove last two usages of Delegates.blockingLazy 2015-10-15 18:20:39 +03:00
Dmitry Petrov 8cd624a58a Drop package facades: code cleanup in Kotlin project. 2015-10-15 10:33:47 +03:00
Dmitry Petrov 5d9ee7efee Java 8 rules for method overrides:
- base class method wins against a (default) interface method,
so an abstract base class method should always be implemented
in a derived class;

- interface methods clash regardless of abstract/default
with possibly undefined behavior at run-time,
so a class or interface should always define its own method
for methods inherited from multiple interfaces and not from base class;

- meaningful diagnostics for class inheriting conflicting JVM signatures.
Since no override will happen under Java 8 rules,
ACCIDENTAL_OVERRIDE is misleading for this case;

- update testData.
2015-10-12 14:12:31 +03:00
Ilya Gorbunov 90e5ee8a7e Replace KotlinPackage legacy facade with corresponding package parts. 2015-10-07 22:36:29 +03:00
Ilya Gorbunov 3106458cc4 Replace assert with lazy assert, times with repeat. 2015-10-07 22:36:23 +03:00
Dmitry Jemerov c5d3673b6b change the ID of the language from "jet" to "kotlin"; rename JetLanguage to KotlinLanguage 2015-10-06 16:14:07 +02:00
Mikhail Glukhikh 6f7d9459fa Completion for sealed class inheritors and a pair of tests 2015-09-30 19:38:14 +03:00
Dmitry Petrov 91214c50a6 Unify containing classes mapping for deserialized callable members. 2015-09-30 09:56:06 +03:00
Denis Zharkov 22d58239e3 Support DefaultImpls in light-classes and indices
#KT-4647 Fixed
2015-09-30 08:19:52 +03:00
Denis Zharkov 27bc62bd8e Minor. Rename constants: TRAIT_IMPL* -> DEFAULT_IMPLS* 2015-09-30 08:19:50 +03:00
Valentin Kipyatkov 420c6856be Changed naming algorithm of accessor name generation: "isXXX" and "kClass" cases affected 2015-09-29 18:32:24 +03:00
Valentin Kipyatkov 98da621ab3 Temporary rename of properties starting with "is" and used from java code (will revert back after changing accessor naming policy) 2015-09-29 18:32:23 +03:00
Dmitry Petrov 8595315ba5 - Package facade classes should have ACC_DEPRECATED
- Light classes for package facades should be deprecated
2015-09-23 17:41:13 +03:00
Denis Zharkov 9c4564a5a6 Get rid of deprecated annotations and modifiers in project code 2015-09-18 09:34:27 +03:00
Dmitry Petrov 47b8853051 Generate light classes for single-file facades using PackageCodegen. 2015-09-15 10:25:40 +03:00
Dmitry Jemerov 9e6c0e7ee2 code review 2015-09-14 18:05:00 +02:00
Dmitry Jemerov 3cf6395750 move supports new facades 2015-09-14 18:04:58 +02:00
Dmitry Jemerov d67fb670b7 safe delete supports new facades 2015-09-14 18:04:58 +02:00
Dmitry Jemerov c81f1d314c call hierarchy supports new facades 2015-09-14 18:03:57 +02:00
Dmitry Jemerov 35de13a6b2 update Java references to file class when a file is renamed 2015-09-14 18:03:55 +02:00
Dmitry Jemerov ab58dc3586 allow returning multiple PsiMethod wrappers for a JetFunction or JetPropertyAccessor; use that for handling Java usages through old-style and new-style facades
#KT-9102 Fixed
2015-09-14 18:03:55 +02:00
Dmitry Jemerov 4d09280aa8 LightClassUtil: J2K 2015-09-14 18:03:54 +02:00
Dmitry Jemerov 043c961b57 LightClassUtil: rename to .kt 2015-09-14 18:03:53 +02:00
Nikolay Krasko e99b0e751f Minor: reformat 2015-09-12 15:16:07 +03:00
Pavel V. Talanov ee393955c4 Use correct codegen for creating light classes for file facade 2015-09-09 21:21:00 +03:00
Pavel V. Talanov cda35f609a Build light classes for file facades 2015-09-09 21:20:52 +03:00
Dmitry Petrov 5e38c99f81 Name clash test for file class vs multifile class 2015-09-09 19:08:19 +03:00
Dmitry Petrov a00346a141 MultifileClassCodegen
- initial implementation
- new Kotlin file kinds + stub builder
2015-09-09 19:08:17 +03:00
Dmitry Petrov 2519641b2b JvmName annotation support, single-file facade case (just rename file facade class)
- initial implementation of JvmFileClassesProvider
- migrate some of PackagePartClassUtil usages to JvmFileClassesProvider (mostly in Codegen)
- placeholder ("no resolve") implementation for migration period and unclear cases
- tests
2015-09-08 13:02:56 +03:00
Dmitry Petrov 5fdfe8df3c PackagePartClassUtils converted to Kotlin and refactored 2015-09-07 16:28:53 +03:00
Dmitry Petrov ab8b5d05ed Light class generation for new facades/parts.
1st working (naive) implementation.
2015-09-07 16:28:45 +03:00
Dmitry Petrov 47f5b55e65 KotlinLightClassForPackage -> KotlinLightClassForFacade
(with minor changes)
2015-09-07 16:28:44 +03:00
Nikolay Krasko 73a24435f7 Make Kotlin light classes pass "element instanceof StubBasedPsiElement" in LocalSearchScope scope 2015-09-02 13:49:10 +03:00
Alexey Tsvetkov 7101f9a3a4 Move GenerationState member up to further simplify constructor usages 2015-09-01 19:05:38 +03:00
Alexey Tsvetkov 1e964c6302 Make "progress" parameter with last in GenerationState constructor
This parameter has a default value, so it's more convenient to have it
closer to the end of parameter list.
2015-09-01 19:05:37 +03:00
Alexey Tsvetkov de23f7ace8 Move property declaration to constructor 2015-09-01 19:05:37 +03:00
Dmitry Jemerov 4991aff086 validate FQ name when checking the Java mapping (EA-72095) 2015-09-01 15:02:32 +02:00
Dmitry Jemerov 37c40c9a23 change the origin of light methods for property accessors to the property itself 2015-08-31 12:18:25 +02:00