Dmitrii Gridin
72def186a3
[LL FIR] rework transformers, so transformers resolve only a specific set of declarations
...
The change is needed for the parallel resolution (^KT-55750), so we can resolve the declaration
under a lock that is specific to this declaration.
Previously, if LL FIR was resolving some FirClass, LL FIR resolved all its children too, and it had no control over what parts of the FIR tree were modified.
The same applied to the designation path, sometimes the classes on the designation path
might be unexpectedly (and without lock) modified.
This commit introduces LLFirResolveTarget, which specifies which exact declarations should be resolved during the lazy resolution of the declaration.
All elements outside the declarations specified for resolve in LLFirResolveTarget, should not be modified.
The logic of lazy transformers is the following:
- Go to target declaration collecting all scopes from the file and containing classes
- Resolve only declarations that are specified by the LLFirResolveTarget, performing the resolve under a separate lock for each declaration
^KT-56543
^KT-57619 Fixed
2023-04-19 20:12:38 +00:00
Dmitrii Gridin
9a4a3d1f49
[LL FIR] introduce test with reversed resolve order
...
^KT-56543
Merge-request: KT-MR-9299
Merged-by: Dmitrii Gridin <dmitry.gridin@jetbrains.com >
2023-03-22 17:34:07 +00:00
Ivan Kochurkin
73b45a1254
[FIR] Report UNSUPPORTED on array literals not from annotation classes ^KT-50750 Fixed
2022-02-23 14:21:57 +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
Mikhael Bogdanov
4fe846fb81
Fix test affected by InstantiationOfAnnotationClasses feature
2021-07-29 19:45:57 +02:00
Mikhail Glukhikh
0d6bc7e7b2
FIR: report ANNOTATION_CLASS_CONSTRUCTOR_CALL diagnostic
2021-05-20 12:22:20 +03:00
Andrey Zinovyev
5d30576d28
[FIR] Report not-a-constant diagnostics inside function calls
...
When function calls are not fully resolved
2021-05-13 10:15:26 +03:00
Andrey Zinovyev
e74141ded6
[FIR] Properly check spread constant argument
2021-05-13 10:13:21 +03:00
zadorotskas
334d0a8b5a
FIR: introduce three diagnostics for const val
2021-04-13 21:36:46 +03:00
Ivan Kochurkin
ad9b962536
[FIR] Fix tests (ARGUMENT_TYPE_MISMATCH instead of INCOMPATIBLE_CANDIDATE)
2021-04-12 23:49:55 +03:00
Лихолетов Михаил
cfc1ebb4be
[FIR] Support several annotation argument diagnostics
2020-09-16 16:53:31 +03:00
Dmitriy Novozhilov
2536fa0cd5
[FIR-TEST] Add new testdata generated after changes in previous commit
2019-12-12 16:11:46 +03:00
victor.petukhov
46bd5ba107
Add alphabetical sorting diagnostics with same ranges
2019-02-14 12:31:42 +03:00
Mikhail Zarechenskiy
4ebd11a7ae
Refactoring: rename parameter to argument for annotation diagnostics
2018-03-22 03:59:55 +03:00
Mikhail Zarechenskiy
8466270bdb
Check that arguments of array function call in annotation are constants
...
#KT-16956 Fixed
2017-03-22 17:59:58 +03:00
Mikhail Zarechenskiy
d7093db5c5
Allow to use emptyArray in annotation as argument
...
#KT-14236 Fixed
2017-02-07 14:07:20 +03:00
Valentin Kipyatkov
ec51076355
DescriptorRenderer to render annotations for all types + separate option to render annotation arguments + use it in IdeDescriptorRenderers
2016-10-11 23:38:54 +03:00
Alexey Tsvetkov
dc27363452
Remove @annotation from test data
2015-10-19 20:45:01 +03:00
Denis Zharkov
afd4e644a3
Report warning on usages of non-const vals in places where constants expected
2015-09-23 08:20:57 +03:00
Denis Zharkov
4850fd10f0
Regenerate test data containing rendered descriptors
...
Introduced '@' after each annotation
2015-09-18 10:14:39 +03:00
Denis Zharkov
676ca86ea4
Deprecate escaped modifiers and unescaped annotations
2015-09-08 12:11:30 +03:00
Michael Nedzelsky
bc5c9065d2
fix tests in org.jetbrains.kotlin.checkers
2015-09-08 02:04:32 +03:00
Mikhail Glukhikh
eab288bdd7
annotation() now has no arguments. Syntax migration to Retention / Repeatable / MustBeDocumented combination
...
Deprecated test for annotation(params) completion deleted. A lot of tests changed.
2015-09-04 19:21:12 +03:00
Mikhail Glukhikh
dfaed3fef3
Binary or runtime repeatable annotations are not allowed for JVM. Some tests fixed accordingly.
2015-08-03 19:41:45 +03:00
Mikhail Glukhikh
d6406d8d4a
Annotation repetition checking with a pair of tests, some old tests changes
2015-07-28 17:13:32 +03:00
Pavel V. Talanov
c313887641
Split CompileTimeConstant into two entities
...
1. ConstantValue
* just holds some value and its type
* implementations for concrete constants
2. CompileTimeConstant
* is only produced by ConstantExpressionEvaluator
* has additional flags (canBeUsedInAnnotation etc)
* has two implementations TypedCompileTimeConstant containing a constant value
and IntegerValueConstant which does not have exact type
* can be converted to ConstantValue
Adjustt usages to use ConstantValue if flags are not needed
Add tests for some uncovered cases
2015-07-16 02:28:05 +03:00
Mikhail Glukhikh
37b2e97e56
Rendering changed: "annotation class" is now just "class" (with kotlin.annotation.annotation if it's kotlin annotation).
...
A swarm of tests fixed accordingly.
2015-07-14 16:25:08 +03:00
Mikhail Glukhikh
1eac4d67de
"annotation" is now parsed as an identifier. It is no longer a soft keyword.
...
Sometimes it's allowed to parse "annotation" unescaped even if other annotations must be escaped.
A set of annotations and their options tests.
A swarm of existing tests fixed (mostly kotlin.annotation.annotation() added to txt-files).
STUB_VERSION increased. Some quick fixes slightly changed.
2015-07-14 16:24:55 +03:00
Mikhail Glukhikh
bae9a7d7f8
Types are no more rendered for annotation arguments + a swarm of tests corrected accordingly
2015-07-01 16:12:32 +03:00
Alexander Udalov
3a6ba67602
Delete unused diagnostic about j.l.Class in annotations
2015-06-15 15:55:23 +03:00
Denis Zharkov
d71fe0d11a
Drop JavaClassValue and it's usages
...
Also drop related testData
2015-06-12 09:55:10 +03:00
Denis Zharkov
fc5236244b
Deprecate java.lang.Class as annotation parameter
2015-04-29 14:03:11 +03:00
Ilya Ryzhenkov
288e1baa87
Tests, messages and infra for deprecated symbol reporting
2015-04-24 15:44:32 +03:00
Denis Zharkov
98ffa3b475
Render Class-constant as javaClass<T>()
2015-04-16 10:40:20 +03:00
Andrey Breslav
da639039bd
KT-6698 Bad class file when using a star-projection on a Java's recursive generic parameter
...
#KT-6698 Fixed
2015-02-02 19:52:00 +03:00
Svetlana Isakova
7a5124215a
Updated test data for Array<out T> vararg type
2014-12-12 23:08:28 +03:00
Svetlana Isakova
5b4f10e698
Made vararg parameters have Array<out T> type
...
instead of simply Array<T>
#KT-1638 Fixed
#KT-2163 Fixed
#KT-3213 Fixed
#KT-4172 Fixed
#KT-5534 Fixed
2014-12-12 23:08:28 +03:00
Andrey Breslav
0eee83b6ec
Lazy logs removed
2014-11-21 18:59:45 +03:00
Svetlana Isakova
2a83053355
Updated lazy log tests
2014-11-21 14:02:45 +03:00
Michael Bogdanov
5412a67d29
Generate static backing fields for properties in object
...
#KT-4973 Fixed
2014-11-20 10:20:31 +03:00
Stanislav Erokhin
b7c473f59e
Update lazy.log files
2014-11-17 17:45:01 +03:00
Alexander Udalov
128c938965
Make Array.size() a function instead of a property
...
Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
2014-11-17 15:02:38 +03:00
Pavel V. Talanov
d2cfcfa659
Fix test data after changes to renderer and descriptors
2014-11-14 17:09:05 +03:00
Denis Zharkov
b3691b7358
Frontend changes for reified type parameters
...
Allowing reified only for inline functions and Intrinsics
2014-11-13 20:56:09 +03:00
Alexander Udalov
4f0d83a7fe
Update lazy logs after field rename
2014-11-11 18:35:39 +03:00
Andrey Breslav
4892369cf4
Diagnostic tests are logging their lazy activity
2014-11-10 17:24:04 +02:00
Alexander Udalov
3a8ad45dec
Append newline to EOF for .txt test data files
...
Reverts and fixes 102f0d3
2014-10-21 03:18:27 +04:00
Nikolay Krasko
e796f88b38
Regenerate test data with constructed descriptors for diagnostics tests
2014-09-18 17:58:23 +04:00
Natalia Ukhorskaya
4dbcb256d3
Add JetDiagnosticTest with stdlib
2014-01-28 18:21:46 +04:00