Igor Yakovlev
cef6b71897
Fix ultraLightClass method argument types erasure
...
Fix IdeRegression.testImplementingMap test
2019-10-01 13:53:20 +03:00
Igor Yakovlev
fc70fd05fc
Enable kotlin.collections support for UL classes
...
Removed restriction for classes derived from Kotlin collections
Added type erasure for java collection overrided methods
2019-09-23 17:30:15 +03:00
Igor Yakovlev
79a603768a
UltraLight implementation for local and anonymous declarations
2019-09-02 17:42:50 +03:00
Igor Yakovlev
a9aa60491e
Fix UL-classes test renders and test data
2019-07-12 16:33:51 +03:00
Igor Yakovlev
8b40005b0c
UL classes flaky tests partially fix
...
#KT-32276 - Reduce affected tests count from 117 cases to 2 cases
2019-06-27 12:46:02 +03:00
Igor Yakovlev
545fdb5a37
Add UL-inline class overrided interface methods
2019-06-07 20:33:07 +03:00
Igor Yakovlev
7d542eda00
Fix UL classes test for inline classes support
2019-06-07 20:33:07 +03:00
Igor Yakovlev
2a1293e3ef
Fix test data for UL suspend declatations
...
(remove should-load-cls flag)
2019-06-07 17:54:03 +03:00
Alexander Udalov
f9d61f2dc7
Make inline+reified functions synthetic instead of private in bytecode
...
#KT-18563 Fixed
2019-05-28 16:17:49 +02:00
Denis Zharkov
e0975df1c0
Create annotation arguments in ultra-light classes via PsiElementFactory
2018-12-18 09:31:13 +03:00
Denis Zharkov
859223baa2
Fix throws-list for case of kotlin.Throwable in ultra-light classes
2018-12-18 09:31:13 +03:00
Denis Zharkov
b16bfad079
Do not generate no-arg constructor for sealed ultra-light class
2018-12-18 09:31:13 +03:00
Denis Zharkov
2f8b214e76
Support annotation based on descriptor in ultra-light classes
...
It helps to generate properly the annotations for delegates
Also note in test, that annotations in Base class have really weird
text of arguments and also don't have names
2018-12-18 09:31:13 +03:00
Denis Zharkov
e88ed25f26
Support targeted annotations on property accesors in ultra-light classes
2018-12-05 16:34:44 +03:00
Denis Zharkov
52d5143dd7
Support delegating to interfaces in ultra-light classes
2018-12-05 16:34:44 +03:00
Denis Zharkov
dbf9ff29a9
Support data classes in ultra-light classes
2018-12-05 16:34:44 +03:00
Denis Zharkov
28d3a62567
Separate nullability annotation processing for ultra-light classes
...
KtLightNullabilityAnnotation is specifically designed for old light classes
and includes a bunch of hacks that are applicable for them
So, we have to introduce own hack into it
(see org.jetbrains.kotlin.asJava.classes.KtUltraLightParameter#getTypeForNullability)
that is a bit of hard to support when extending hierarchy
2018-12-05 16:34:44 +03:00
Denis Zharkov
30c60c7b1f
Do not render nullability in UltraLightChecker when it's irrelevant
...
It's necessary because after next changes,
they become different for ultra and old light classes.
The former (ultra) is more correct but it doesn't help when
we need to compare our implementation with reference
2018-12-05 16:34:44 +03:00
Denis Zharkov
5231da4320
Fix hasAlias check when resolving annotation in ultra-light classes
...
When trying to estimate if annotation entry might be resolved
to a specified fqName we should track the short name from entry itself
instead of the short name of desired annotation
2018-11-26 11:36:30 +03:00
Denis Zharkov
aa5a2a2643
Support @JvmField on primary ctr properties in ultra-light classes
2018-11-26 11:36:29 +03:00
Denis Zharkov
206466f6ce
Support enums in ultra-light classes
...
There's no need to add "values"/"valueOf" methods for them
(see com.intellij.psi.impl.compiled.StubBuildingVisitor#visitMethod that ignores them too)
We already have tests that check enum entries/synthetic methods
are properly resolved in Java:
idea/testData/kotlinAndJavaChecker/javaAgainstKotlin/*Enum*
2018-11-26 11:36:28 +03:00
Denis Zharkov
ca9f42f449
Support @JvmName in ultra-light classes
2018-11-26 11:36:27 +03:00
Denis Zharkov
17328a442a
Support @JvmSynthetic in ultra-light classes
2018-11-26 11:36:26 +03:00
Denis Zharkov
7de8b4de4e
Support declarations returning object literals in ultra-light classes
2018-11-26 11:36:25 +03:00
Denis Zharkov
28f20a97f8
Support @JvmOverloads annotation in ultra-light classes
2018-11-26 11:25:42 +03:00
Denis Zharkov
41997769e3
Support @JvmField annotation in light classes
2018-11-26 11:25:42 +03:00
Denis Zharkov
580d03be5f
Support JvmWildcard/JvmSuppressWildcard in ultra-light classes
...
The idea is reusing logic from KotlinTypeMapper for that
2018-11-19 14:40:51 +03:00
Denis Zharkov
a4cc67d0a0
Refine isInlineOnly check in KtUltraLightClass
2018-11-08 15:25:41 +03:00
Denis Zharkov
34f9a1e70e
Do not build no-arg constructor overload for inner KtUltraLightClass
2018-11-08 15:25:41 +03:00
Denis Zharkov
8999a21764
Refine visibility computation for lateinit's field in KtUltraLightClass
2018-11-08 15:25:41 +03:00
peter
ebc998d710
add ultra-light classes/members that work without backend in simple cases
2018-10-25 18:22:33 +02:00