Mikhail Glukhikh
2cea2b9098
K2/Java: add private enum constructor for MPP matching
...
#KT-62961 Fixed
2023-11-28 13:30:26 +00:00
Mikhail Glukhikh
af58b30e5f
K2 Java: fix 'value' annotation constructor parameter type to Array<out>
...
#KT-61100 Fixed
2023-10-31 22:13:10 +00:00
Ivan Kochurkin
498f2e534a
[FIR] Don't enhance Int and String Java final static fields
...
It's effectively a breaking change (^KT-62558)
K2 assigns flexible type to all static fields (from Java) and, for example,
`String? becomes String unlike K1. It affects IR signature generating.
That's why signature dump is disabled for some tests.
^KT-57811 Fixed
^KT-61786 Fixed
2023-10-16 17:16:56 +00:00
Kirill Rakhman
4e041494be
[FIR] Report DEPRECATION when Java declaration is deprecated in javadoc
...
#KT-60682
2023-08-31 10:19:33 +00:00
Mikhail Glukhikh
f8ca440e96
K2: resolve Java enum entries from the beginning (related to KT-59464)
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
abb58f1380
K2: unmute the test related to KT-48675
2023-04-27 09:16:44 +00:00
Kirill Rakhman
9268fd0e87
[FIR] Call enum entries in deserialized annotations as property access
...
KT-56177
2023-02-28 10:19:15 +00:00
Dmitriy Novozhilov
259303ca50
[FIR] Fix loading of classId for nested enums in java annotation arguments
...
^KT-55887 Fixed
^KT-55976
2023-01-17 14:51:29 +00:00
Denis.Zharkov
5cc31114cd
FIR: Support special scope for raw types
...
^KT-46369 Fixed
^KT-41794 Fixed
^KT-49351 Fixed
2022-10-31 14:28:50 +00:00
Mikhail Glukhikh
7333589663
K1/K2: add Enum.entries unconditionally and filter them out in tower
...
Before this commit, we added Enum.entries only in case when
LanguageFeature.EnumEntries was ON (with an exception in K1/Java case).
In this commit we add Enum.entries unconditionally, and in case
the language feature is OFF we filter them out during tower resolve.
2022-08-12 09:35:27 +00:00
Vsevolod Tolstopyatov
0a5b3f1e13
[JVM IR] Adjust testData to address new static Enum.entries member
2022-08-12 09:35:26 +00:00
Mikhail Glukhikh
38f4a35be2
FIR: introduce flexible types pretty rendering for no arguments case
...
#KT-52020 Fixed
2022-06-29 16:50:05 +00:00
Ivan Kylchik
51ccc32a3f
Update test data after introducing IntrinsicConstEvaluation annotation
2022-05-18 21:19:57 +03:00
Dmitriy Novozhilov
1a3841d66d
[FIR] Properly enhance raw Class type in java annotations
2022-01-20 11:25:44 +03:00
Denis.Zharkov
46217318c0
FIR: Load final static constant Java fields as non-nullable
2021-11-26 19:39:48 +03:00
Roman Golyshev
9b9c51bc8d
[FIR] Fix dispatch receivers on inner classes' constructors
...
1. Inner class constructor should have its outer class as a dispatch
receiver, since it is necessary for the call. Before it was null
2. Substituted inner class constructor should have its original dispatch
receiver type with the proper substitution. Before it was set to the
class itself (since the class was usually passed as a new dispatch
receiver)
Also, modify FIR renderer, so it properly renders the dispatch receiver
of the constructors
2021-10-05 12:17:08 +00:00
Dmitriy Novozhilov
765b389875
[FIR] Mute failing test due to KT-48675
2021-09-13 13:53:14 +03:00
Dmitriy Novozhilov
5769d42248
[FIR] Fix all usages of annotations due to new FirAnnotation hierarchy
2021-09-13 13:53:12 +03:00
pyos
a2e2545e3f
FIR: update loadJava tests
2021-09-06 13:11:14 +03:00
pyos
5704dffdbe
FIR: attach annotations to Java-converted cone types
2021-09-06 13:11:03 +03:00
Mikhail Glukhikh
020b6e9dd1
FIR Java: fix conversion of primitive type
2021-08-27 18:03:02 +03:00
pyos
a12e31daf1
FIR: dump nested classes in loadJava tests
...
Because those test are single Java files, many of them use a top-level
class as a container for multiple classes to be tested. Such tests do
almost nothing if those nested classes aren't handled.
2021-08-27 18:03:01 +03:00
Dmitriy Novozhilov
7008f02962
[FIR] Create fir classes for java annotations and enums with Final modality
2021-07-20 10:33:34 +03:00
Dmitriy Novozhilov
955c506294
Update load java testdata with type use annotations
2021-07-08 13:29:21 +03:00
Mikhail Glukhikh
c33608e009
FIR: don't render resolved type annotations in favor of attributes
2021-06-09 15:42:43 +03:00
Dmitriy Novozhilov
dceb8b2991
[FIR] Don't render ! at the end of ConeFlexibleType
2021-03-11 13:10:05 +03:00
Dmitriy Novozhilov
65ea4e184a
[FIR] Fix enhancement of FlexibleNullability and EnhancedNullability
...
- Add utilities to add new attribute to ConeAttributes
- Get rid of FlexibleNullability attribute (it can be easily inferred
for any flexible type at any moment)
- Fix determining of EnhancedNullability attribute
2021-03-11 13:10:04 +03:00
Jinseong Jeon
fc7f589caa
FIR Java: record Java types with flexible nullability
2020-11-18 13:06:46 +03:00
Mikhail Glukhikh
44ebec05bb
FIR Java: support read of field constant initializers
2020-10-02 08:57:39 +03:00
Dmitriy Novozhilov
bc1fa8ed7f
[FIR] Add constructor for java annotations
2020-08-04 08:59:14 +03:00
Ivan Kylchik
dcae6f1415
[FIR] Support when exhaustiveness for java enum
...
The problem appear because for java enum its entries was represented by
FirJavaField. To fix this FirEnumEntry was used
#KT-39621 Fixed
2020-07-09 23:49:54 +03:00
Dmitriy Novozhilov
7bfe7061e7
[FIR] Add proper nullability for java enums
2020-03-20 23:11:28 +03:00
Mikhail Glukhikh
e051251b27
FIR: set isOperator only for Java methods with appropriate names
...
#KT-35133 Fixed
2020-02-19 18:09:04 +03:00
Mikhail Glukhikh
91b432b4a1
[FIR] Java super-type arguments are now handled as flexible
2020-02-03 16:45:19 +03:00
Denis Zharkov
f659dc0bea
FIR: Add synthetic values/valueOf methods to Java classes
2019-11-27 11:20:52 +03:00
Alexander Udalov
57a674e9e6
Make fast class files reading mode default in compiler tests
...
This makes sense because this mode is the default in the production
compiler. Forgetting to enable it where necessary led to different
bizarre test failures, see for example changes around 3fee84b966 and
KT-34826
2019-11-11 15:40:49 +01:00
Dmitriy Novozhilov
e6bf3b3263
[FIR] Render nullability in type renderer, not in fir renderer
2019-08-22 10:55:07 +03:00
Mikhail Glukhikh
2ceffa241b
FIR: make Java default constructor visibility same with class visibility
2019-07-11 12:38:53 +03:00
Mikhail Glukhikh
56435fa283
FIR Java: add default constructors
2019-05-28 10:20:40 +03:00
Simon Ogorodnik
6c313895df
[FIR] Do not enhance java fields to firProperty
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
3e69838f48
FIR Java: map classes to make java type-parameters have correct bounds
...
Really, this commit implements early J2K mapping for all Java types.
It's questionable and probably wrong at least for super-types,
because, for example, we cannot resolve spliterator() in classes
derived from java.lang.Iterable
2019-04-30 18:45:51 +03:00
Mikhail Glukhikh
2476c0299f
FIR Java: fix constructor enhancements
...
Before this commit,
we generated regular member functions as constructor enhancement.
Now, we generate constructors as constructor enhancement.
2019-04-23 11:41:05 +03:00
Alexander Udalov
d257285c86
Load Java enums as final classes
...
In case Java enum has an abstract member, it has the ACC_ABSTRACT flag
set in the bytecode. However, we should still load it with final
modality to be consistent with Kotlin enums which are always considered
final
#KT-23426 Fixed
2019-04-10 14:39:16 +03:00
Simon Ogorodnik
498fb94c37
FIR: Make FIR rendering more kotlin-styled
2019-03-22 16:25:10 +03:00
Mikhail Glukhikh
33fb3d154b
FIR Java model: support static members & enum entries
...
Related to KT-29218
2019-03-14 18:07:17 +03:00
Mikhail Glukhikh
14fb495ab6
Support Java constructors in FIR (related to KT-29218)
2019-03-14 17:57:13 +03:00
Mikhail Glukhikh
7563a98999
FIR type enhancement: make J2K mapping and changed handling more exact
...
Related to KT-29937
2019-03-14 17:56:05 +03:00
Mikhail Glukhikh
6c79b184c0
FIR Java types: add Kotlin/Java mapping & mutability enhancements
...
Related to KT-29937
2019-03-14 17:55:10 +03:00
Mikhail Glukhikh
e7ac88d326
FIR: implement Java fields (in provider, type enhancement, scopes)
...
Related to KT-29218
2019-03-14 17:54:53 +03:00
Mikhail Glukhikh
4255c9f774
Add FIR enhancement tests, fix some exceptions / problems around them
...
Test data and tests themselves are based on
compiler/testData/loadJava/compiledJava
2019-03-14 17:52:33 +03:00