Ivan Kochurkin
8c7fad9a5e
[FIR] Support of type arguments in annotations ^KT-48444 Fixed
2022-04-18 15:36:19 +00:00
Dmitriy Novozhilov
4022918ea2
[FIR2IR] Properly generate arguments for annotation constructors calls in default values of annotation constructors
2022-02-28 11:42:35 +03:00
Alexander Udalov
898c46c124
Minor, uncomment UInt in annotation instantiation test
...
KT-49998 is fixed so now it works.
2021-12-22 22:21:00 +01:00
Xin Wang
944fa7e2f8
JVM IR: recover accidentally lost backingField (KT-49998)
2021-12-22 00:35:33 +01:00
Leonid Startsev
2eac2ff3a2
Support Array<KClass> in instantiated annotations
...
#KT-47703 Fixed
2021-12-15 16:05:29 +00:00
Mikhail Glukhikh
8c7f659a32
Black box: drop WITH_RUNTIME or replace with WITH_STDLIB
2021-12-09 13:26:38 +03:00
Mikhail Glukhikh
0f4647d95e
Black box: update/set FIR status for some new tests
2021-12-09 13:26:37 +03:00
Leonid Startsev
767c570af4
Load default values for annotation members from classfiles
...
so that defaults are available to synthetic implementations.
#KT-48181 Fixed
Implementation is for JVM IR; other backends & FIR need to be supported
separately.
2021-12-07 10:10:04 +00:00
Sergej Jaskiewicz
599f705842
[stdlib] Make @LowPriorityInOverloadResolution applicable to ctors
2021-12-02 12:39:40 +00:00
Mads Ager
261482904c
[FIR] Give external package fragments different module descriptors.
...
The inliner uses module descriptors to figure out if it needs to
regenerate objects.
We should avoid the use of descriptors in the inliner, but this
works as a first quick fix.
2021-11-25 13:20:31 +03:00
Mikhail Glukhikh
cf104c8433
FIR: add status line to all failing black box tests
2021-11-20 03:37:31 +03: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
Mads Ager
604f217360
[FIR] Report properties from java methods in Fir2IrLazyClass.
...
This shows up in annotation instantiation tests where we need
to make sure to generate a property on the annotation implementation
class for such properties.
2021-11-09 23:51:49 +03:00
Mads Ager
b79ca7d7df
[FIR] Allow annotation instantiation.
...
This commit disables the frontend error reporting for supported cases.
2021-11-09 23:51:48 +03:00
Svyatoslav Kuzmich
c88cde2f8b
[Wasm] DONT_TARGET_WASM_BACKEND => IGNORE_BACKEND in testdata
2021-10-02 06:14:35 +00:00
Leonid Startsev
e7f1cef3a1
Correctly rearrange arguments for annotation constructors copied from another module
...
It won't fix KT-48181 completely, but it will allow to create such annotations
if all value arguments are specified.
For the full fix, we need to read default annotation values from classfiles in jar.
#KT-48181 In progress
2021-09-29 13:45:45 +00:00
Ivan Kylchik
cc934d9574
Support arguments' evaluation of primitive arrays in fir2ir transformer
2021-09-27 17:45:01 +03:00
Pavel Kunyavskiy
fb875c484d
[K/N] Implement instantiating of annotation class
2021-09-23 06:59:34 +00:00
Tianyu Geng
e95de0a778
FIR checker: report type mismatch for named vararg arguement
...
ProhibitAssigningSingleElementsToVarargsInNamedForm is enabled from 1.3
so there is no need to make FIR accepting single element passed through
named arguments.
In addition, we may want to report only
ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION and not arg
type mismatch. But FE1.0 is reporting both so I am following it. If we
want to remove the redundant report, we will probably want to remove
FirNamedVarargChecker and report during resolution as a cone diagnostic.
2021-09-15 12:11:36 +03:00
Ivan Kochurkin
55f33999f1
[FIR] Add REPEATED_ANNOTATION, REPEATED_ANNOTATION_WARNING
2021-09-10 00:49:07 +03:00
Leonid Startsev
6f954462d6
Implement proper contract for generated java.lang.Annotation.hashCode()
...
#KT-48606 Fixed
2021-09-08 14:41:25 +00:00
pyos
09c34eaa7b
FIR: unmute some more blackbox tests
2021-09-06 13:11:09 +03:00
Leonid Startsev
1932546a90
Support instantiation of annotations in JS
...
#KT-47700 Fixed
2021-09-01 11:13:55 +00:00
Steven Schäfer
f05f9882ab
IR: Handle annotation instantiations in constructor calls
2021-08-23 23:04:35 +02:00
Ivan Kylchik
2f2e608502
Expand the possibilities of object's interpretation
...
It is possible to create object in interpreter even if its
receiver symbol came from function parameter instead of object's class.
#KT-48174 Fixed
2021-08-13 16:18:36 +03:00
Alexander Udalov
3636118743
Introduce typealias JvmRepeatable for j.l.a.Repeatable
...
#KT-12794 Fixed
2021-07-30 19:53:44 +02:00
Alexander Udalov
26043f3968
Generate Java @Repeatable on Kotlin-repeatable annotation classes
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
92a73d7636
Generate container class for repeatable annotations
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
87130edfa2
Support using Java-repeatable annotations in Kotlin
...
#KT-12794
2021-07-30 19:53:32 +02:00
Leonid Startsev
83c1a75c1e
Revert "Revert "Instantiation of annotations for JVM IR with the corresponding feature flag""
...
Fix incorrectly rebased ce0a3a57df
This reverts commit 3d0126d5
2021-07-21 18:24:07 +03:00
Leonid Startsev
3d0126d5dd
Revert "Instantiation of annotations for JVM IR with the corresponding feature flag"
...
because of incorrect rebase
This reverts commit ce0a3a57
2021-07-21 15:23:24 +03:00
Leonid Startsev
ce0a3a57df
Instantiation of annotations for JVM IR with the corresponding feature flag
...
Seperate checker for platforms that do not support this language feature yet
Synthetic implementations of annotations are generated on-demand with proper
equals, hashCode, and annotationType methods
#KT-47699 Fixed
2021-07-21 10:23:51 +00:00
Alexander Udalov
113632c49c
Psi2ir: load single-value Java array annotation arguments correctly
...
#KT-47467 Fixed
2021-07-05 21:49:10 +02:00
Mikhail Glukhikh
3127fad23d
FIR: more precise annotation argument serialization
2021-06-09 15:42:39 +03:00
Mikhail Glukhikh
77dd0ad396
FIR: handle custom attributes more precise
2021-06-09 15:42:37 +03:00
Denis.Zharkov
d76db0e011
FIR: Mute backend tests relevant to new INFERENCE_NO_INFORMATION_FOR_PARAMETER
...
See KT-46967 and KT-46996
2021-06-07 15:25:53 +03:00
Mikhael Bogdanov
a8186d19d6
Support annotations on class type parameters
...
#KT-43714
2021-06-01 06:33:50 +02:00
Andrey Zinovyev
c2389a94fa
[FIR] Resolve annotations in when expressions
2021-05-27 12:41:16 +03:00
Mikhael Bogdanov
cd7841ceed
Generate type annotations on class type parameters bounds
...
#KT-13228
#KT-46539 Fixed
2021-05-10 12:12:21 +03:00
Mikhael Bogdanov
cbe3c66156
Generate function type parameter annotations and type annotations on their bounds into bytecode
...
Generate type parameter annotation by default for `-Xjvm-target 1.8` and above
#KT-46539
#KT-13228
#KT-46545 Fixed
2021-05-10 12:12:18 +03:00
pyos
e6d923f65c
FIR: rename HIDDEN to INVISIBLE_REFERENCE
...
Some of them should be INVISIBLE_MEMBER though
2021-04-21 16:18:21 +03:00
pyos
651fd4ad9f
FIR: load Java annotation defaults after binding the class symbol
...
as they can refer to the class itself.
2021-03-24 16:09:25 +03:00
Mikhail Glukhikh
e7129329d2
Revert "FIR: do not eagerly resolve class references in imported annotations"
...
This reverts commit 1a57d60f
2021-03-15 18:36:13 +03:00
pyos
1a57d60f68
FIR: do not eagerly resolve class references in imported annotations
2021-03-15 17:32:39 +03:00
Dmitriy Novozhilov
4d65b0ef5a
[FIR2IR] Unmute passing black box test
2021-03-15 15:12:11 +03:00
Roman Artemev
050db6d454
[KLIB] Add box test for generic annotations
2021-03-12 19:03:04 +03:00
Mads Ager
e5631addf3
[IR] Move annotations from original to new constructor declarations.
...
LocalDeclarationsLowering did not move annotations when creating
a new constructor declaration, thereby losing the annotations.
Fixes KT-45298
2021-03-05 12:24:38 -08:00
Dmitriy Novozhilov
aa829c2321
[FIR2IR] Fix using default values of annotation arguments
2021-03-05 13:00:12 +03:00
Dmitriy Novozhilov
8324f499cd
[FIR] Fix serializing annotation metadata on setters value parameters
2021-03-05 13:00:11 +03:00
Mads Ager
8e9dfc23b6
FIR: Take targeted annotations into account for metadata
...
Getter/setter targeted annotations were not correctly reflected
in the kotlin metadata which made them not work with
kotlin-reflect.
2021-03-03 08:48:28 +03:00