55 Commits

Author SHA1 Message Date
Bas Leijdekkers
afb2aef0a1 [java] better error message when extends/implements list not allowed (IDEA-350501)
GitOrigin-RevId: 3eee3e73fe57a8dc7bf10b9b30956e02a36c89d8
2024-04-03 14:14:22 +00:00
Bas Leijdekkers
0fc08dae0c [java] better error message when permits list not allowed (IDEA-350501)
GitOrigin-RevId: 93cc9241dd77e12df1baeda1d06538f3159a6e59
2024-04-03 14:14:17 +00:00
Bas Leijdekkers
e614239ca4 [java] better error message and quick-fix text on record constructor throws list (IDEA-350501)
GitOrigin-RevId: 50570e951ec901fe7619465352f725788032c8f2
2024-04-03 14:14:12 +00:00
Bas Leijdekkers
a9d979654e Java: Better error message and quick-fix for C-style array declaration in vararg parameter (IDEA-316131)
GitOrigin-RevId: 182bf576b00e2bddddb3767d1cd938a625337778
2023-03-29 16:52:55 +00:00
Tagir Valeev
9fa25ee30b [java-highlighting] IDEA-270163 Do not report public methods as well
GitOrigin-RevId: fa091416658c84b2499337d9fd2f9ccf09261c9d
2022-12-15 12:43:32 +00:00
Tagir Valeev
8653f21eef [java-highlighting] IDEA-270163 Good code is red: private record declared in anonymous class
GitOrigin-RevId: fd0e72648b09de6efcac2749d2e4c9e8c99542d5
2022-12-13 18:59:21 +00:00
Bas Leijdekkers
14a69c17fc Java: offer quick-fix to implement abstract method in enum (IDEA-231187)
GitOrigin-RevId: d7ee95a34123b69ad5ad2b3f59a5da614412e074
2022-12-05 13:46:39 +00:00
Bas Leijdekkers
a98eb623e0 [java] simpler more consistent error message
GitOrigin-RevId: e9a4643b85dcf5d97085e56b7a455b2b8f87869a
2022-12-05 13:46:33 +00:00
Anna Kozlova
f55ce0722f remove Java 15 Preview language level (IDEA-273436)
GitOrigin-RevId: efe6feafd81a99bde15e892530c1085fc4fb8772
2021-08-31 06:25:32 +00:00
Anna Kozlova
66c33e7aef records: better error message on extending java.lang.Record
GitOrigin-RevId: 6b6a629577322f6aa9bd7d3fd295dbfd36753991
2021-04-19 20:42:09 +03:00
Anna Kozlova
54bf0310f6 records: check return type consistency for accessors (IDEA-266561)
GitOrigin-RevId: 1313ce76971eed47ceee2660ee01198ad9609f26
2021-04-19 10:53:17 +03:00
Artemiy Sartakov
79f7d4dd58 Revert "Sealed classes: restricted keyword/identifier -> contextual keyword (IDEA-257414)"
This reverts commit a3b7cb3c

GitOrigin-RevId: bc91ae528d6f836e9cf43c19e9923286c8de0a9c
2021-02-04 09:33:52 +00:00
Artemiy Sartakov
45d71a0820 Sealed classes: restricted keyword/identifier -> contextual keyword (IDEA-257414)
GitOrigin-RevId: a3b7cb3c6eb3a65f78cf473fb93ddfa9946dea38
2021-01-19 09:22:09 +00:00
Tagir Valeev
5d20b5dbb9 [java-highlighting] Allow statics inside inner since Java 16 (IDEA-257410)
Also remove redundant record tests

GitOrigin-RevId: ce57189891b3df3ba4659e8e3a2ded125234911a
2020-12-25 11:59:29 +00:00
Anna Kozlova
fd17a8bb75 language level 16, remove language level 14_preview (IDEA-257409)
GitOrigin-RevId: 1f9626ba04ffd9588b0cf9b8a9f699faa613359b
2020-12-14 20:59:58 +00:00
Tagir Valeev
58a638bab9 [java-tests] Record rename tests moved to RenameFieldTest
GitOrigin-RevId: d6b5c15752a7e821829caf55db968bc67ebffa8d
2020-12-04 08:06:39 +00:00
Tagir Valeev
7c62cd67fe [java-highlighting] IDEA-256804 Highlighting bug when using JDK 15 Records
GitOrigin-RevId: fd7fe3f1bcfe89e65f754038b4021ac003abb9f7
2020-12-04 08:06:37 +00:00
Anna Kozlova
73742cfcaa java records: rename component through implicit reference to the generated getter (IDEA-249683)
GitOrigin-RevId: 61907b128fb812c2b7df3769f2a80cc81ef43e54
2020-11-23 16:35:13 +00:00
Anna Kozlova
b93c815fbf java records: component used in outer class: search/rename fixes (IDEA-248803)
GitOrigin-RevId: 658be1b62e613484e82b1e7f24f1157813021179
2020-11-23 16:35:10 +00:00
Tagir Valeev
4ae81fd62a [java-highlighting] IDEA-253230 Editor should produce a red code in records with @SafeVarargs in Java 16
GitOrigin-RevId: 5da7b9733e75140ad066b7e9b8af6adb95fea297
2020-10-20 02:30:03 +00:00
Tagir Valeev
a0f0dabaa4 [java-highlighting] IDEA-246748 Remove support of C-style array declaration in record components
Actually suggest a fix if somebody uses it

GitOrigin-RevId: 57ee72ebdc99ebe506a88696bf37f9319cdbcc33
2020-09-21 09:44:54 +00:00
Tagir Valeev
f9d1650fd8 [java-psi] Tolerate unparseable record component type (IDEA-250933)
GitOrigin-RevId: 813982a27750455f74d92ea48931096b389c6b37
2020-09-18 04:22:09 +00:00
Tagir Valeev
0bdc0d744a [java-highlighting] IDEA-250951 Record accessor for the record component with ellipsis type produces a red code
GitOrigin-RevId: 7d2a1ddf7686a07cd4591c4c17d758c1cb203940
2020-09-18 04:16:18 +00:00
Tagir Valeev
fe46b9e54d [java-highlighting] Test for IDEA-249356 "Variable might not have been initialized" error in a valid Record constructor
Was fixed in 4dc903ae8f8bc500d839ef469ac2d8f9e3ac2f3b

GitOrigin-RevId: c20944b6a79f6c2d112413f77899d525c4e78f8a
2020-08-31 03:58:16 +00:00
Roman Ivanov
335ac651a4 IDEA-249148: rename record component and accessor while renaming constructor parameter
GitOrigin-RevId: 3c6812b6a7496b0733187ed57044c8e0d4bc9b8c
2020-08-26 15:46:22 +00:00
Tagir Valeev
874d090e21 [java-highlighting] Report static fields that collide with record components
Fixes IDEA-246454 bad code is green: record component already defined

GitOrigin-RevId: 1b2a48c0eb0b543ec9d60d7ed3cf2b3aabc3330c
2020-07-24 10:52:51 +00:00
Artemiy Sartakov
374593f5a2 Sealed types: report error when keyword 'sealed' or 'permits' used with enum or record (IDEA-246509)
GitOrigin-RevId: 6d3161990ce01f86524ceb91449a97272fa9abcd
2020-07-24 06:48:42 +00:00
Tagir Valeev
f5f8de6460 Fix wording for record constructor access level message (IDEA-245318)
GitOrigin-RevId: cff34666ed69bfd0a29ab75d1902b7a473b37bb7
2020-07-07 04:07:59 +00:00
Tagir Valeev
e027f98d6a Disable field assignments in record compact constructors
Last piece of IDEA-239088

GitOrigin-RevId: 23c467c6c525d7908922bc2ebd8928205368dff7
2020-06-22 13:26:17 +03:00
Tagir Valeev
547ebddae3 Record constructors access level for Java 15 (IDEA-239088)
GitOrigin-RevId: b8adab8548bcea21d2053606e058495e888199b7
2020-06-19 14:11:10 +03:00
Tagir Valeev
93dafadf4a Update Override annotation support for Java 15 records (part of IDEA-239088)
GitOrigin-RevId: 16744c263f812eeaf19151fb2f46d95d0f994838
2020-06-19 09:43:18 +03:00
Tagir Valeev
2072855222 IDEA-243546 Allow local interfaces and enums on language level 15-preview (part of JEP 384)
Also: fix non-static access checks for local interfaces/enums/records (JEP 384)
Also: i18n of error messages

GitOrigin-RevId: 40448f089229d77e32eb200b4011e1aea09391b0
2020-06-16 09:43:13 +03:00
Tagir Valeev
13edb2f136 IDEA-232559 Rename record component: field reference is not renamed if getter overload is present
GitOrigin-RevId: 1555b2079dbba1b92d83c0638e5845efca910dc5
2020-02-11 08:45:32 +00:00
Anna Kozlova
46ed99082c java: error message for wrong record constructor reference in another class
GitOrigin-RevId: 335157be832b59e0b7d63a9fa8a42fddc91153af
2020-02-10 20:08:00 +00:00
Anna.Kozlova
2ec87504ff records: rename parameter names of canonical constructors together with components
IDEA-CR-57849

GitOrigin-RevId: 6d820e056aa4bd37798b9a873b8d20c6adc79b9b
2020-01-31 07:42:15 +00:00
Anna.Kozlova
90d15bfaf0 rename records components (IDEA-228462)
GitOrigin-RevId: f673a1841f9f8ca454a73b9f2a38b3e7edacbf65
2020-01-29 19:34:36 +00:00
Tagir Valeev
34243206dc Report new restricted identifiers: 'yield' and 'record'.
Fixes IDEA-230808 Disallow usage of 'record' as type name
Fixes IDEA-226604 Disallow using the 'yield' as the class name since Java 14

GitOrigin-RevId: a97753893fd8d0dac98a1a76f499b8c9474c3a7f
2020-01-17 11:12:57 +00:00
Tagir Valeev
0093364d1a IDEA-230688 Bad code green: "Modifier 'private' not allowed here" on local record declaration
GitOrigin-RevId: 564a4b764921031b05f9c0f8dd1c9f475deb5727
2020-01-16 08:11:51 +00:00
Tagir Valeev
f708d8febb IDEA-230559 'final' modifier is not allowed on record component
GitOrigin-RevId: 5f06b57f53fda76465a53f67440cc14a99be86db
2020-01-14 09:39:09 +00:00
Tagir Valeev
c7557bba96 IDEA-230380 Assignments to record components are erroneously allowed in non-canonical constructors
GitOrigin-RevId: 4a427ce68ddfbd9b2d274c131a42e40e02f306f7
2020-01-10 07:02:33 +00:00
Tagir Valeev
5766652109 Records: consider varargness mismatch as compilation error
There's an agreement to do this in expert group -- see http://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-December/001889.html

GitOrigin-RevId: 8fc465ece0b9c4bb1517793a60cabab34933b688
2020-01-03 12:03:57 +00:00
Tagir Valeev
20b13c9122 Records: report canonical constructor parameter name mismatch (IDEA-228460)
GitOrigin-RevId: d2c5c75f2a9066bd949ad503ad6fcbd71c594d18
2019-12-26 06:03:46 +00:00
Roman.Ivanov
9f7fd6f214 Java Records: do not generate non-physical assignments for records, handle it separately
GitOrigin-RevId: 73d10fc5b48e08efd4f0e0bbee019b7263a7e098
2019-12-26 05:32:27 +00:00
Tagir Valeev
ee428f70e6 Local records support (IDEA-228460)
GitOrigin-RevId: 6bd11c1161f4773570573910d88c7a395f972e3c
2019-12-24 10:05:47 +00:00
Roman.Ivanov
158abe45b8 create compact constructor light parameter list, make parameter list optional
GitOrigin-RevId: a8f67df9897d8adfece17d6d376c40776f25476d
2019-12-24 08:41:04 +00:00
Tagir Valeev
e1f4bf5bcf Accept mismatch in varargness of record and canonical constructor
GitOrigin-RevId: d377578d8cd5ef67e5d2241f956792e887aa80b2
2019-12-24 08:41:04 +00:00
Tagir Valeev
39a9039c38 Proper checks for missing implementation of abstract method in records (IDEA-228460, IDEA-CR-56772)
GitOrigin-RevId: 1be11a80e1721116959dc24cb79c9feb4065f4ef
2019-12-19 06:33:37 +00:00
Tagir Valeev
4bc45f31f0 Records extend the Record class (IDEA-228460)
GitOrigin-RevId: f99f9cfbe07cec22bc34596366c97d62d024e4b2
2019-12-19 06:13:56 +00:00
Tagir Valeev
14c82dcf4f JavaPsiRecordUtil: isCanonicalConstructor fixed for record w/o components; testdata fixed (IDEA-CR-56742)
GitOrigin-RevId: a179e7ddf958f6f7c76e72187a0044d2da6cc936
2019-12-18 12:02:04 +00:00
Tagir Valeev
53986a2bd7 Error highlighting for records: compact constructors (8.10.5) IDEA-228460
GitOrigin-RevId: d2ffbe570a06768989e48bf88eaf503a847574d4
2019-12-18 11:37:51 +00:00