Commit Graph

93 Commits

Author SHA1 Message Date
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
Dmitry Jemerov 18223dfaaa update backing field references when renaming Kotlin property
#KT-7905 Fixed
2015-08-27 14:31:17 +02:00
Nikolay Krasko 9dcd73418e Stop crashing in building report - diagnostic for EA-70372 2015-08-26 13:17:00 +03:00
Dmitry Jemerov 24f45a382e ReferencesSearch finds references of data class component functions in Java code
#KT-8808 Fixed
2015-08-24 18:12:05 +02:00
Dmitry Jemerov 24ba5a46f1 use correct safe delete processor for members of local classes and objects
#KT-8894 Fixed
2015-08-24 15:12:45 +02:00
Dmitry Jemerov 482406b0d9 remove descriptor field from LightClassDataForKotlinClass 2015-08-21 12:09:09 +02:00
Dmitry Jemerov c00fbb236f don't perform full resolve and stub building for isInheritor() checks
#KT-8656 Fixed
2015-08-21 12:08:53 +02:00
Dmitry Jemerov 6c32f655f9 KotlinLightClassForExplicitDeclaration: cleanup 2015-08-21 12:08:52 +02:00
Dmitry Jemerov f2ff752dd1 KotlinLightClassForExplicitDeclaration: J2K 2015-08-21 12:08:51 +02:00
Dmitry Jemerov 4b2a662eb3 KotlinLightClassForExplicitDeclaration: rename to .kt 2015-08-21 12:08:51 +02:00
Alexey Sedunov a085c93b5e Light Classes: Fix computation of base type in anonymous light class 2015-08-19 23:30:13 +03:00
Alexey Sedunov 969b90d301 Move Declarations: Use custom hashing strategy to account for different instances of light elements with common origin 2015-08-17 20:28:04 +03:00
Valentin Kipyatkov f378b9bb75 Do not invalidate resolve of everything after change inside a code block 2015-08-03 17:11:12 +03:00
Alexander Udalov 74ed3b9562 Provide equals/hashCode for Kotlin light classes
KotlinLightClassForExplicitDeclaration already had equals/hashCode, but the
other three implementations of KotlinLightClass did not; this resulted in type
mismatch errors in Java code where the signatures of a super method and the
corresponding sub method wouldn't match because types of parameters were
different

 #KT-8543 Fixed
2015-07-23 03:51:50 +03:00
Dmitry Jemerov 43d2af166e code cleanup: light-classes module 2015-07-21 16:20:56 +02:00
Alexander Udalov c62f19ee82 Move getterName/setterName to JvmAbi
Reuse in RuntimeTypeMapper in reflection
2015-07-10 20:10:13 +03:00
Denis Zharkov 0a19fb7df2 Make project compilable after types enhancement 2015-07-09 16:36:46 +03:00
Alexander Udalov feb4dd7b8f Drop 'OBJECT$' field deprecated in M11 2015-07-06 16:19:54 +03:00
Denis Zharkov eb7114bd53 Add 'constructor' keyword in whole project where needed 2015-06-12 09:55:15 +03:00
Alexey Sedunov 95438c7b5d Light Classes: Fix ClassCastException for KotlinNoOriginLightField 2015-06-11 13:52:59 +03:00
Alexey Sedunov bbc644f4c8 Refactoring: Unify getClassOrObject() and getContainingClassOrObject() functions in constructor PSI 2015-06-11 13:52:58 +03:00
Alexey Sedunov 1ea2c24562 Light Classes: Primary constructor fixes 2015-06-11 13:52:48 +03:00
Pavel V. Talanov f335e9f6b2 Fix a problem where a sequence of out-of-block completions could lead to an inconsistent resolve session provided for a synthetic copy of a file 2015-06-03 21:22:10 +03:00
Denis Zharkov c054dc19e3 Get rid of assumption that primary ctr is a child of JetClass
As it can be contained within JetObjectDeclaration
2015-06-02 13:18:53 +03:00
Valentin Kipyatkov 8fd6a64be9 Refactored methods for val/var in PSI 2015-06-01 18:23:34 +03:00
Alexey Sedunov 26c4efb587 Light Elements: Filter out nulls when converting Kotlin declarations to corresponding light elements
#EA-64403 Fixed
2015-05-30 18:16:25 +03:00
Valentin Kipyatkov 006c02b569 Getting rid of confusing methods on PsiElement's 2015-05-29 13:55:47 +03:00
Alexander Udalov 48b18f18d3 Restore explicit imports of Kotlin function types in Java
This is a follow-up to 738a84e259 and
d4965a4f3e. Optimize imports in all files
affected in those commits, drop temporary _.kt
2015-05-26 18:46:27 +03:00
Alexander Udalov 738a84e259 Temporary hack to migrate functions to package kotlin.jvm.functions
Add a file in package 'kotlin.jvm.functions' to the project and replace
explicit imports of functions 'kotlin.Function{n}' to two imports 'kotlin.*'
and 'kotlin.jvm.functions.*', so that the codebase can be compiled both by the
old and by the new compiler
2015-05-26 15:04:34 +03:00
Evgeny Gerashchenko 2568fc92cb Supported Kotlin in Java's automatic parameter renamer. 2015-05-22 17:18:07 +03:00
Yan Zhulanow b2220ca98a Annotation collector compiler plugin 2015-05-21 15:48:06 +03:00
Nikolay Krasko 6b64ae77f3 Test light classes from sources have priority over decompiled light classes 2015-05-15 15:29:31 +03:00
Dmitry Jemerov cce1be3892 rename JetClass.isTrait() to isInterface(); rename ClassKind.TRAIT to INTERACE 2015-04-29 16:50:19 +02:00
Nikolay Krasko 90cdb19324 Add origin for generated jvm overloads and tweak equals methods to distinguish them
- KT-7586 Strange navigation issue

 #KT-7586 Fixed
2015-04-29 15:20:31 +03:00
Pavel V. Talanov ac2cb9af74 Remove some usages of KotlinBuiltIns.getInstance()
Introduce DeclarationDescriptor.builtIns extension to get builtins where descriptors are available
Introduce various utilities in KotlinBuiltIns to check for primitive types and get fq names of builtins
2015-04-28 12:49:34 +03:00
Evgeny Gerashchenko f5677d8424 Converted JetPsiUtil.getElementTextWithContext() to Kotlin extension function. 2015-04-22 14:10:00 +03:00