Mikhail Glukhikh
7243d30869
Split property use-site targets during FIR building
2021-10-12 16:22:58 +03:00
Mikhail Glukhikh
d3662b48a2
FIR: fix OPT_IN_MARKER_ON_WRONG_TARGET (setter via parameter case)
...
This commit fixes FIR bootstrap compilation
2021-09-30 14:58:14 +03:00
Mikhail Glukhikh
212c3e8d51
FIR: fix OPT_IN_MARKER_ON_WRONG_TARGET for constructor properties
2021-09-29 19:39:28 +03:00
Mikhail Glukhikh
e9bff861dd
FIR: report OPT_IN_MARKER_ON_OVERRIDE diagnostic
...
This diagnostic works in accordance with KT-45844 and KT-49002
2021-09-29 19:39:27 +03:00
Mikhail Glukhikh
ac3b738d9b
FIR: report OPT_IN_OVERRIDE(_ERROR) diagnostics
2021-09-29 19:39:25 +03:00
Mikhail Glukhikh
056f74a23b
FE 1.0: allow OptIn marker on override if base class is marked
...
#KT-49002 Fixed
2021-09-29 19:39:24 +03:00
Mikhail Glukhikh
a76aee9b69
FIR: spread OptIn markers to children except fake override case
...
This commit implements KT-49001 for FIR
2021-09-29 19:39:23 +03:00
Mikhail Glukhikh
69e06a242a
FE 1.0: spread OptIn markers to children except fake override case
...
#KT-49001 Fixed
2021-09-29 19:39:22 +03:00
Mikhail Glukhikh
3045a5e920
FIR: implement OPT_IN_MARKER_ON_WRONG_TARGET
2021-09-29 19:39:20 +03:00
Mikhail Glukhikh
fc6403679a
Rename !USE_EXPERIMENTAL test directive to !OPT_IN
2021-09-10 16:29:16 +03:00
Mikhail Glukhikh
3febabe977
Use OPT_IN instead of EXPERIMENTAL in diagnostic names
2021-09-10 16:29:13 +03:00
Ivan Kochurkin
55f33999f1
[FIR] Add REPEATED_ANNOTATION, REPEATED_ANNOTATION_WARNING
2021-09-10 00:49:07 +03:00
Mikhail Glukhikh
b8c3b34886
FE 1.0: don't spread OptIn markers to children #KT-48570 Fixed
2021-09-03 15:40:45 +03:00
Mikhail Glukhikh
7b0e5927cb
Report EXPERIMENTAL_ANNOTATION_ON_WRONG_TARGET without explicit @Target
...
#KT-48349 Fixed
2021-08-23 14:18:34 +03:00
Mikhail Glukhikh
5283f7b7c6
Make EXPERIMENTAL_API_USAGE_ERR warning till 1.6 for fake override case
2021-07-30 21:21:51 +03:00
Mikhail Glukhikh
84bd347841
Make EXPERIMENTAL_API_USAGE_ERR warning till 1.6 for signature type case
2021-07-27 14:58:56 +03:00
Mikhail Glukhikh
810def829c
Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warning till 1.6
2021-07-27 14:58:55 +03:00
Mikhail Glukhikh
7cbea12c8a
FIR: store all annotationContainers in checker context
2021-07-23 23:58:58 +03:00
Mikhail Glukhikh
d020948933
FIR: support EXPERIMENTAL_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION...
2021-07-23 23:58:57 +03:00
Mikhail Glukhikh
82f268d611
FIR: add EXPERIMENTAL_API_USAGE reporting
2021-07-23 23:58:55 +03:00
Mikhail Glukhikh
113d2653aa
Drop deprecated -Xexperimental flag from compiler and tests
2021-07-14 21:18:23 +03:00
Mikhail Glukhikh
a92ab1bc86
Deprecate EXPERIMENTAL_IS_NOT_ENABLED diagnostic #KT-47638 Fixed
2021-07-12 21:26:20 +03:00
Mikhail Glukhikh
d9531f0c61
Don't report EXPERIMENTAL_ANNOTATION_ON_WRONG_TARGET for forbidden targets
...
#KT-47589 Fixed
2021-07-12 21:26:15 +03:00
Mikhail Glukhikh
ceb527c5e4
FIR: add OptIn checkers draft + some annotation / SinceKotlin utilities
2021-06-11 22:03:32 +03:00
Mikhail Glukhikh
63bc3f9708
Forbid experimental markers on various targets #KT-45845 Fixed
...
In this commit we forbid experimental markers on:
- local variables
- value parameters
- fields, including delegate fields
- property getters
2021-06-08 11:37:34 +03:00
Mikhail Glukhikh
eb9c658c1c
OptIn: handle usages via type aliases properly
2021-06-08 11:37:33 +03:00
Mikhail Glukhikh
702d839c66
Forbid TYPE and TYPE_PARAMETER as possible OptIn targets
2021-06-08 11:37:31 +03:00
Mikhail Glukhikh
603afe89a2
Forbid using experimental markers on override declarations
...
#KT-45844 Fixed
2021-06-08 11:37:30 +03:00
Mikhail Glukhikh
bb9efab3c4
Forbid experimental markers on getter #KT-45845 Fixed
2021-06-08 11:37:29 +03:00
Mikhail Glukhikh
0a670bf055
Report EXPERIMENTAL_API diagnostics on various implicit usages
...
#KT-32443 Fixed
#KT-22852 Fixed
2021-06-08 11:37:28 +03:00
Mikhail Glukhikh
d8d38862d9
Introduce EXPERIMENTAL_ANNOTATION_WITH_WRONG_RETENTION diagnostic
...
#KT-22941 Fixed
2021-06-08 11:37:27 +03:00
Mikhail Glukhikh
7393465696
Don't report EXPERIMENTAL_OVERRIDE_ERROR on annotated local functions
...
#KT-31728 Fixed
2021-06-08 11:37:26 +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
Ilya Gorbunov
94240f7b21
Stabilize unsigned types KT-45653
...
Deprecate specialized unsigned iterators for removal.
Fix compiler tests:
- drop unsignedLiteralsOn1_2 because apiVersion 1.2 is no longer supported
- drop experimental unsigned literals diagnostic test
2021-03-31 19:05:04 +03:00
Dmitriy Novozhilov
e6b5cb5216
[TD] Update diagnostics test data due to new test runners
...
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00
Dmitriy Novozhilov
721b9b4d8c
[FIR] Resolve annotations as calls
2020-08-04 08:59:14 +03:00
simon.ogorodnik
f83c20065d
[FIR-test] Unmute passing tests, mostly fir2ir
2020-03-24 18:58:19 +03:00
Mikhail Glukhikh
8884cbe415
Introduce FIR_IDENTICAL for FIR vs old frontend tests #KT-36879 Fixed
2020-03-05 09:39:40 +03:00
Mikhail Glukhikh
64c7ab1302
[FIR] Fix lambda resolve in independent context
2020-02-04 15:00:12 +03:00
Alexander Udalov
f954a6c812
Support custom message in RequiresOptIn
...
#KT-34648 Fixed
2020-01-14 21:04:43 +01:00
Alexander Udalov
7742a3b697
Rename UseExperimental->OptIn, Experimental->RequiresOptIn in compiler tests
2020-01-14 21:04:42 +01:00
Dmitriy Novozhilov
2536fa0cd5
[FIR-TEST] Add new testdata generated after changes in previous commit
2019-12-12 16:11:46 +03:00
Ilya Chernikov
2c02ee3d29
Rename test files to scripts to trigger proper scripting initialization
...
fix generation config accordingly
2019-02-10 13:31:57 +01:00
Alexander Udalov
77c87fa6c9
Remove API_VERSION 1.3 from compiler tests
...
So that these tests will now check behavior on the latest API version
2018-12-20 12:53:23 +01:00
Alexander Udalov
d1e1e274d9
Render property accessor annotations in .txt test data
...
If property accessor rendering is disabled in a test, render annotations
on accessors as use-site-targeted, as was done with
`@setparam:`-annotations. Otherwise they were lost
2018-10-24 18:17:12 +02:00
Alexander Udalov
5713298108
Fix FQ name usage of experimental marker in UseExperimental
...
#KT-26366 Fixed
2018-09-26 18:36:01 +02:00
Alexander Udalov
3e90d367f2
Do not report experimental usage errors in import statements
...
#KT-25545 Fixed
2018-09-21 17:35:50 +03:00
Mikhail Zarechenskiy
659289b41a
Report diagnostics about experimentality on unsigned literals
...
#KT-25580 Fixed
2018-08-06 17:45:22 +03:00
Alexander Udalov
6f9441d3f4
Do not output empty non-root packages in tests with txt
...
Mostly to avoid listing every internal package in
kotlin-stdlib/kotlin-reflect, as in
https://github.com/JetBrains/kotlin/blob/acd5b62148d797ffd24c4811d1d663f0c1ae7885/compiler/testData/diagnostics/testsWithUnsignedTypes/conversions/conversionOfSignedToUnsigned.txt#L144
2018-08-06 13:43:32 +02:00
Dmitry Petrov
5767f84c0e
Restrict retention for annotations with target EXPRESSION
...
#KT-13762 Fixed
2018-07-18 14:21:03 +03:00