Jinseong Jeon
63fb00fa21
FIR LC: revisit when to add fields to companion and/or containing class
2022-05-24 20:32:55 +02:00
Jinseong Jeon
89d1a6bc0f
FIR LC: populate fields from companion in interface
2022-05-24 20:32:55 +02:00
Jinseong Jeon
0212e9daae
FIR LC: always run with STDLIB (to handle JVM annotations)
2022-05-24 20:32:55 +02:00
Alexander Udalov
ef6d30dd51
Remove usages of JVM target 1.6 from compiler tests
...
#KT-45165
2022-04-19 22:54:40 +02:00
Ilya Kirillov
ffdef50424
[symbol lc] actualize testdata for symbol LC tests
2022-04-13 12:53:30 +02:00
Yan Zhulanow
fa4dadf9b7
Update KotlinClassInnerStuffCache implementation
...
'KotlinClassInnerStuffCache' was copy-pasted from the platform's
'ClassInnerStuffCache' several years ago. After J2K and other changes,
it became quite dirty.
Besides cleaning things up, enum synthetic method handling have
significantly improved. Before, such methods were handled only in
'processDeclarationsInEnum', and 'getMethods()' didn't return them.
This led to inconsistent behavior and was reason for providing special
ad-hoc support in '1b6ded600518176b21cc308ed3e032ef8d04cc90'.
2022-03-14 17:53:55 +09:00
Yan Zhulanow
f237631f05
Revert "FIR/LC: create synthetic members of enum class"
...
This reverts commit 1b6ded60
2022-03-14 17:53:55 +09:00
Ilya Kirillov
4a5aee688e
FIR LC: fix invalid type param upper bound
2022-02-25 14:06:05 +01:00
Jinseong Jeon
1b6ded6005
FIR/LC: create synthetic members of enum class
...
^KTIJ-17414 In Progress
^KTIJ-17444 In Progress
2022-02-24 17:51:50 +01:00
Jinseong Jeon
7ff468d9e3
FIR LC: populate only const property on multi-file facade
2022-01-11 21:30:54 +03:00
Jinseong Jeon
62fb8446dc
FIR LC: remove unnecessary type parameter shift for inner class
...
U/LC don't do anything like that, and it rather skips necessary type
paraemters to render.
2022-01-10 12:00:10 +03:00
Jinseong Jeon
a153a1fefb
FIR LC: create inline methods
...
unless the functions (or accessors) have reified type parameters
or inline-only annotations
2021-12-30 10:47:32 +03:00
Ilya Kirillov
62c9a7888b
Analysis: remove // FIR_COMPARISON form LC testdata as LC tests are moved from IJ
2021-12-27 16:23:21 +03:00
Ilya Kirillov
4e58dc3467
Fix small compilation problems in LC testdata which should not influence LC results
2021-12-27 16:23:21 +03:00
Ilya Kirillov
02f9f116b2
Analysis: ignore failing LC test
2021-12-27 16:23:20 +03:00
Ilya Kirillov
db31e0292c
Analysis: add LC testdata with current behaviour
2021-12-27 16:23:20 +03:00
Ilya Kirillov
0b3a0fd799
Analysis: fix LC test environment
2021-12-27 16:23:19 +03:00
Jinseong Jeon
f8a6ab9536
FIR LC: populate DefaultImpls if an interface has default implementations
2021-12-09 11:04:25 +01:00
Jinseong Jeon
edc17a9d5f
FIR LC: populate no-arg constructor if needed
2021-11-25 12:53:54 +01:00
Ivan Kylchik
c7435ba760
Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
...
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Jinseong Jeon
0da9ef873a
FIR LC: use optimal type mapping mode for return type
2021-11-08 20:12:17 +01:00
Jinseong Jeon
d3c34fa200
FIR LC: use optimal type mapping mode for value parameter
2021-11-08 20:12:17 +01:00
Jinseong Jeon
8989378b02
FIR/LC: fix syntax error in import alias test
2021-11-08 20:12:16 +01:00
Jinseong Jeon
5aa8e2d0d1
FIR LC: fix nullable annotation on return type of suspend function
2021-11-01 19:19:39 +01:00
Jinseong Jeon
5880d80d26
FIR LC: add support for inline class
2021-11-01 19:17:26 +01:00
Stanislav Erokhin
c9e7c5d156
[LC] Mute Light tests about repeatable annotation
...
It isn't supported in Light classes, so we should mute it.
Quite similar change was done in 724194dec0
2021-11-01 10:38:09 +00:00
Stanislav Erokhin
c591601274
[LC] IDE LightClasses testdata update
...
Unfortunately, the same testdata is used in IDE, so we should change
testdata in compiler repo and this will affect IDE repo.
This commit is the cherry-pick of commits from IDE repo:
- 4310d730795a53a Fix UltraLightClassLoadingTestGenerated.testEnums():
check by Java file as ULC produces a different but better result
Yan Zhulanow 3/17/21, 8:57 AM
- fbe3c8ba0841f2d4 Disable comparison test for
UltraLightClassSanityTestGenerated.
testAnnotatedPropertyWithSites() Yan Zhulanow 3/18/21, 1:33 PM
- 8fc53027343b5b53 Ignore known (for ages) broken behaviour
of LC Vladimir Dolzhenko 3/19/21, 11:17 PM
2021-11-01 10:38:09 +00:00
Stanislav Erokhin
f455141ade
[ULC] Fix rendering for Foo.class in annotation value
...
Previously it was Foo::class, but it isn't correct because in java it
is Foo.class
P.s. Array<Foo> cannot be passed as annotation parameter
2021-11-01 10:38:09 +00:00
Stanislav Erokhin
65abc94411
[ULC] Unify modifiers for RepeatableAnnotationContainer
...
All the other annotation classes has abstract modifier.
All nested interfaces has static modifiers.
This commit is not so important for compiler, but it is matter for IDE,
because when we load classes in IDE via
KtLightClassForDecompiledDeclaration -- there are Abstract and Static
on the Container class
2021-11-01 10:38:08 +00:00
Jinseong Jeon
907d2e9ed4
FIR LC: populate delegates to interface methods
2021-10-27 17:06:31 +02:00
Jinseong Jeon
aad02c1259
FIR LC: introduce modifier list for members
...
to simulate `default` modifier of methods in interface
2021-09-29 22:02:48 +02:00
Ilya Kirillov
7045e3ee45
Unmute passing FIR LC test
2021-09-28 14:19:15 +02:00
Jinseong Jeon
150f066254
FIR LC: use property modifiers for backing field if lateinit
2021-09-23 00:11:25 +02:00
Jinseong Jeon
c2964f688e
FIR LC: don't include annotations w/o use-site targets to property accessors
2021-09-09 16:07:09 +02:00
Dmitry Gridin
862e87b1ba
JavaElementFinder: support repeatable annotation container
...
^KTIJ-19318
2021-09-09 11:17:35 +00:00
Dmitry Gridin
724194dec0
[ULC] fix testData in the plugin (related to repeatable annotation)
2021-09-08 19:50:40 +07:00
Dmitry Gridin
11e71e4e27
[ULC] support repeatable annotation and container
...
^KTIJ-19318
2021-09-07 12:47:24 +00:00
Ilya Kirillov
cb37a05b79
Restore LC compiler testdata
2021-08-09 20:29:22 +02:00
Jinseong Jeon
4396482fed
FIR IDE: fix nullability of KtType variants
2021-08-09 20:29:19 +02:00
Ilya Kirillov
cf04be5207
FIR IDE: temp mute failing light class test
2021-06-21 00:51:30 +02:00
Dmitry Petrov
851980e36f
JVM_IR KT-45103 optimize direct invoke for lambdas and callable refs
2021-05-18 22:20:12 +03:00
Igor Yakovlev
e4870740e1
[LC] Fixed light classes nullability for Kotlin 1.5
...
Fixed #KT-44472
2021-04-20 15:21:12 +02:00
Igor Yakovlev
63160293fb
[LC] Fix invalid nullability for properties
...
Fixed #KT-46097 and #KT-41671
2021-04-20 15:21:12 +02:00
Igor Yakovlev
f2e02c2d50
[FIR IDE] Fixed invalid type parameters for inner classes
2021-04-07 11:25:22 +02:00
Mikhail Zarechenskiy
111e54c8c1
Do not generate DefaultImpls for light classes if not needed
...
#KT-41130 In Progress
2021-03-18 16:38:52 +03:00
Igor Yakovlev
023b7fbb8f
[ULC] Fix invalid primitive type annotating
...
Fixed #KT-45417
2021-03-12 10:35:37 +01:00
Igor Yakovlev
b744f41c0d
[ULC] Fix annotations invalid parents
...
Fixed #KT-45287
2021-03-05 14:33:10 +01:00
Ilya Kirillov
b08eb6cf4c
FIR IDE: specify behaviour of HL API getOverriddenSymbols
...
- Split it into two functions getAllOverriddenSymbols and getDirectlyOverriddenSymbols
- Implement tests for getOverriddenSymbols
- temporary mute inheritance.kt light classes test
2021-02-19 11:49:57 +01:00
Jinseong Jeon
a884555171
FIR: bail out early for override check if base candidate is private
2021-02-15 19:16:36 +03:00
Dmitriy Novozhilov
2d5b685535
[FIR] Fix processing constructors of sealed classes
...
- Allow declaring protected constructors in sealed classes
- Make default visibility of sealed class constructor `protected`
KT-44861
KT-44865
2021-02-12 13:36:41 +03:00