Commit Graph

106 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 6623456d2a [FIR] Properly support @JvmRecord
^KT-53867 Fixed
2022-10-03 15:48:17 +03:00
Jinseong Jeon fc1eb02590 SLC: implement PsiVariable#computeConstantValue for light field 2022-10-02 13:41:12 +02:00
Jinseong Jeon a58e0803fb ULC: output update (annotation on enum entry)
Input has `// CHECK_BY_JAVA_FILE`
and thus ULC output as .java file should be updated too
when input was changed to add annotation on enum entry
(at commit c5916e1d)
Tested by UltraLightClassLoadingTestGenerated in IntelliJ
2022-10-02 13:41:12 +02:00
Dmitriy Novozhilov c5916e1d1f [AA LC] Fix computation of const initializers of fields 2022-09-15 17:27:23 +03:00
Dmitriy Novozhilov 7e24ddeb40 [AA LC] Properly compute retention for @java.lang.annotation.Retention 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov 77546e5e06 [AA LC] Compute nullability annotation for parameter for extension receiver 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov c67ded2d3b [AA LC] Properly set type mapping mode for bounds of type parameters 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov a3884e35e2 [AA LC] Fix type parameters for getters of generic extension properties 2022-09-15 17:27:22 +03:00
Dmitriy Novozhilov b7712a35f0 [AA LC] Generate backing field for inline classes 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov 8e80c5830e [AA LC] Fix annotations on fields for enum entries 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov a88fdd5eb7 [AA LC] Implement default values for methods of annotations 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov 3a51a8a655 [AA LC] Fix computing visibility for classes 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov ab2aa3117b [AA LC] Add @java.lang.Override on override functions 2022-09-15 17:27:21 +03:00
Dmitriy Novozhilov 258e3f9225 [AA LC] Fix visibility of fields for const vals 2022-09-15 17:27:20 +03:00
Dmitriy Novozhilov 1ff51356b9 [AA LC] Fix visibility of fields from companion objects
^KTIJ-22541
2022-09-15 17:27:20 +03:00
Ilya Kirillov 8ee4cf46d3 [slc] actualize SLC testdata 2022-09-09 14:38:12 +02:00
Jinseong Jeon d0a8eb5c54 AA FIR: use resolved annotation argument mapping 2022-08-10 17:34:48 +02:00
Jinseong Jeon 56a5d883c0 AA FIR: handle (aliased)? annotation w/ vararg parameter 2022-08-10 17:34:48 +02:00
Dmitry Gridin dd824aacb6 Revert "Revert "[light classes] drop old light classes and backend: iteration #2""
This reverts commit 43b4df74bc.
2022-06-28 17:57:30 +02:00
Dmitry Gridin 43b4df74bc Revert "[light classes] drop old light classes and backend: iteration #2"
This reverts commit 97ce502cbe.
2022-06-28 13:52:10 +02:00
Dmitry Gridin 97ce502cbe [light classes] drop old light classes and backend: iteration #2
drop javaFileStub and fix tests

^KT-48773
2022-06-28 11:44:39 +00:00
Jinseong Jeon b18999be82 FIR/LC: filter out scripts for facade creation
^KTIJ-22016 Fixed
2022-06-20 17:38:50 +02:00
Jinseong Jeon c230a488e2 FIR LC: use the same module name as U/LC tests in IJ 2022-05-25 17:05:15 +02:00
Jinseong Jeon 1fe574f406 FIR LC: mangle internal function names 2022-05-25 17:05:14 +02:00
Jinseong Jeon e446c988ee FIR LC: populate default retention policy of annotations 2022-05-24 20:32:56 +02:00
Jinseong Jeon 85388f0c79 FIR LC: correct static modifiers for accessors from companion 2022-05-24 20:32:55 +02:00
Jinseong Jeon a7a01a1f7e FIR LC: populate JvmStatic accessors from companion 2022-05-24 20:32:55 +02:00
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 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
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 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 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
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 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 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
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
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
Igor Yakovlev e4870740e1 [LC] Fixed light classes nullability for Kotlin 1.5
Fixed #KT-44472
2021-04-20 15:21:12 +02:00