Commit Graph

669 Commits

Author SHA1 Message Date
Tagir Valeev
853a2900f2 DefaultNotLastCaseInSwitch fixes
GitOrigin-RevId: ee0e7442caa4992f8953e12d62a834f544008ef4
2024-06-20 16:25:34 +00:00
Mikhail Pyltsin
d099558198 [java-decompiler] IDEA-351525 Decompiler omits statements in record constructors
GitOrigin-RevId: f60a42bf13d509038fe0c839c74cf4bf5ad22c84
2024-06-19 12:49:23 +00:00
Mikhail Pyltsin
db12d5db2d [java-decompiler] IDEA-353995 improve support for switch expressions with patterns
GitOrigin-RevId: 98a19ccca5d898e3be713a5af584b9e81f0d295a
2024-06-07 17:46:14 +00:00
Mikhail Pyltsin
e198cda518 [java-decompiler] IDEA-353923 Wrap return statements into braces in switch expression
GitOrigin-RevId: 169162fe9d0483a39b151cbbe4a54352cc78daa0
2024-06-03 10:45:57 +00:00
Mikhail Pyltsin
3a9e1d2e42 [java-decompiler] IDEA-353150 try to preserve cast with virtual invocation
GitOrigin-RevId: 8a3b414c1140dec382f62db17ba30204af7b82b4
2024-05-22 19:34:32 +00:00
Roman Shevchenko
2845078205 Cleanup (getting rid of outdated extends CodeConstants pattern; typos)
GitOrigin-RevId: a970382fcfa57486b378d57063d9c41adb591106
2024-04-03 20:03:27 +00:00
Roman Shevchenko
2d762e58b4 [java decompiler] modifiers on JPMS requires statements
GitOrigin-RevId: 115e1b0498867d0cfaf95c119531019029e19935
2024-04-03 20:03:27 +00:00
Bas Leijdekkers
1e16743c85 remove unnecessary substring() calls
GitOrigin-RevId: b5cdb5bd7e2cc3f3bf866685bbfdf887b81dff3f
2024-03-21 11:04:57 +00:00
Mikhail Pyltsin
4a623097f2 [java-decompiler] IDEA-346717 Decompiler fails on static methods.
- add tests

GitOrigin-RevId: 329e4a14c1f01d807c9e4d98c1c013378fcf2c02
2024-03-11 12:09:32 +00:00
h4ckm310n
839e697138 IDEA-346717: Decompiler fails to decompile switch statements
containing static call

Check whether switchSelector.getInstance() is null before checking its type

GitOrigin-RevId: 51936005770cfabf46fe17e97bd1fd0b0db4df1d
2024-03-11 12:09:28 +00:00
Mikhail Pyltsin
2fc6a74293 [java-decompiler] IJ-CR-119139 IDEA-326015 Support common cases of deconstruction in switch
- add comments and delete suppressions

GitOrigin-RevId: a7a604e823edf51c4bda1deeee6c1c89b5abe2e5
2023-12-04 18:09:52 +00:00
Mikhail Pyltsin
66e06bca77 [java-decompiler] IJ-CR-119139 IDEA-326015 Support common cases of deconstruction in switch
- flags to disable

GitOrigin-RevId: 2c08aa24bfa6652902f38d03c79bb433a19d0dc6
2023-11-27 20:01:12 +00:00
Mikhail Pyltsin
51e1cc8b49 [java-decompiler] IDEA-326015 Support common cases of deconstruction in switch
- collapse default case with assignment into default patterns

GitOrigin-RevId: b9458df252c6cb6d1215cbbf695c510779e2816f
2023-11-17 11:27:41 +00:00
Mikhail Pyltsin
2ceecd5210 [java-decompiler] IDEA-326015 Support common cases of deconstruction in switch
- not hide variables, which have names
 - fix tests

GitOrigin-RevId: e60ff327233eb3d26f2b3fafcbb034fcce420e80
2023-11-15 20:30:30 +00:00
Mikhail Pyltsin
57ab5e2cca [java-decompiler] IDEA-326015 Support common cases of deconstruction in switch
- not hide variables, which have names

GitOrigin-RevId: 3141bb756cba431b44e8806cc03b8c4052133d56
2023-11-15 20:30:23 +00:00
Mikhail Pyltsin
2b43d22dd9 [java-decompiler] IDEA-326015 Support common cases of deconstruction in switch
- add FF prefix

GitOrigin-RevId: 3b8556cf1bff2da04c8c40a95c74df033ef61876
2023-11-15 20:30:17 +00:00
Mikhail Pyltsin
41b800bcca [java-decompiler] IDEA-326015 Support common cases of deconstruction in switch
- enable only for the appropriate language level

GitOrigin-RevId: 28a870533e56bd610db06dbbd21f2db64dbe6546
2023-11-13 12:22:53 +00:00
Mikhail Pyltsin
2eaf8d1e5c [java-decompiler] IDEA-326015 Support common cases of deconstruction in switch
- added recognizers for common deconstruction structures
 - extract SwitchPattern into separate helper
 - added new verification that all switch and instanceOf structures are processed

GitOrigin-RevId: 355ff06db05c0e06e911856fbf46b1284411bc65
2023-11-07 23:51:30 +00:00
Mikhail Pyltsin
3342282b1a [java-decompiler] IJ-CR-118414 IDEA-326015 Support instanceOf deconstruction
GitOrigin-RevId: 863d4cb5ba61a43b8dfc91bd3b4788c5c8d5d01e
2023-11-07 18:04:47 +00:00
Mikhail Pyltsin
d9e4227c47 [java-decompiler] IJ-CR-118413 IDEA-326015 Support pattern's exceptions
GitOrigin-RevId: 0c08ff1bf19415c91de05001fd0128d5ac7a967c
2023-11-07 18:04:44 +00:00
Mikhail Pyltsin
d40a068a44 [java-decompiler] IDEA-326015 Support deconstruction patterns with instanceOf
- fix comparators

GitOrigin-RevId: f7d47cf3b0b9a728dea4125c7280148901c961dc
2023-10-31 22:16:22 +00:00
Mikhail Pyltsin
abf7400ddd [java-decompiler] IDEA-326015 Support instanceOf deconstruction
- support main cases for deconstructions
- tests

GitOrigin-RevId: cce3ba541b5f6ae4253e424b3005e37544a5ec6b
2023-10-31 22:16:22 +00:00
Mikhail Pyltsin
87419d6672 [java-decompiler] IDEA-326015 Support pattern's exceptions
- add merge edges to graph

GitOrigin-RevId: 9a440c06c2bbd64975383520dbdc373ec9f87cb6
2023-10-31 22:16:22 +00:00
Mikhail Pyltsin
cf27e7505e [java-decompiler]IDEA-326015 Support switch with patterns
- fix negative cases
- fix break labels
- added hashcode for VarExprent
- moved temporary items to List

GitOrigin-RevId: c8583bb90fd30ef6b943c68abbcadc05078ecb95
2023-10-31 22:16:21 +00:00
Mikhail Pyltsin
53b4bb6e68 [java-decompiler] IDEA-326015 Support pattern matching in switch in decompiler
GitOrigin-RevId: 651d83da33f6ebc5a224467ecca29289d0a517e5
2023-10-31 12:29:15 +00:00
Ben Creasy
a929aa013e upgrade gradlew to 7.6.3
PR #2596

GitOrigin-RevId: 3338401737dfc177ae93732eeda82eccd889bcf4
2023-10-31 09:41:22 +00:00
Mikhail Pyltsin
b8c1604882 [java-decompiler] IDEA-285667 Support enhanced switches for decompiler
GitOrigin-RevId: d0ffb719a28eeb0e886b4830190ef81062a9e2ea
2023-10-24 19:18:15 +00:00
Tagir Valeev
3e51c05b69 Fix instance access to static methods; other warnings
GitOrigin-RevId: 4597f0be3316c7fbf5e7b9e818547a1930284d5a
2023-10-21 17:44:23 +00:00
Tagir Valeev
51854f80b3 "Method can be static" fix massive application
GitOrigin-RevId: ed296b85922a6814d5c6057b5cbc720f0c546e41
2023-10-20 19:12:56 +00:00
Bart van Helvert
4a821f078d [java-decompiler] Fix exception when checking for type arguments on classes
EA-915555 Fixed

GitOrigin-RevId: 9fd579b9bec0ae4aff8a47aeb61cb943033cd787
2023-10-03 14:27:46 +00:00
Mikhail Pyltsin
8045caf11c [java-decompiler] IDEA-323804 Delete the threshold for decompiling
GitOrigin-RevId: 6bc5c98d7ae46ec74435b17b43de1a833db808cf
2023-08-02 11:16:52 +00:00
Tagir Valeev
1d8d5108ac Revert "[java-decompiler] Check cancelled inside StrongConnectivityHelper"
This reverts commit 0f30240c4e873044cd102b8fb0df926eeb1eaf71.

GitOrigin-RevId: f9f0229be02b577c1f5f82d54583da168a23203c
2023-07-19 08:54:42 +00:00
Tagir Valeev
3bafdf240b [java-decompiler] Check cancelled inside StrongConnectivityHelper
Should improve IDEA-289496 Intellij editor freezes randomly during decompilation

GitOrigin-RevId: 0f30240c4e873044cd102b8fb0df926eeb1eaf71
2023-07-18 12:27:39 +00:00
Mikhail Pyltsin
c65019f32c [java-decompiler] IDEA-198397 disable limit for decompiler for BGT
GitOrigin-RevId: eb915c3bdec17cc1cfbd46a1aa257daf71cb7162
2023-06-28 12:15:34 +00:00
Mikhail Pyltsin
b26d7c9740 IJ-CR-108265 [java-decompiler] IDEA-198397 add cancelled checks for java-decompiler. Add some limits
GitOrigin-RevId: c2ebda314570d885d50cd6c523e990d238ac4491
2023-06-18 15:48:54 +00:00
Mikhail Pyltsin
3c2f371c32 IJ-CR-108265 [java-decompiler] IDEA-198397 add cancelled checks for java-decompiler. add more points
GitOrigin-RevId: 6461fcca9ae636fffeba8a2d54304b125b436e34
2023-06-18 15:48:51 +00:00
Mikhail Pyltsin
5ff48a98c5 Revert "IJ-CR-108265 [java-decompiler] IDEA-198397. Add limits for decompiler. Move inheritance to BGT"
This reverts commit 6a7ae0444c39238e21475234c0bb988cf86a5af6.

GitOrigin-RevId: 56545f54ff83b256d93ef5c54191f9183524f50d
2023-06-18 15:48:48 +00:00
Mikhail Pyltsin
1cae1fd6b5 IJ-CR-108265 [java-decompiler] IDEA-198397. Add limits for decompiler. Move inheritance to BGT
GitOrigin-RevId: 8fa2c22bee5a014dc2e4035723e2039f8e2ef9b9
2023-06-16 20:18:06 +00:00
Mikhail Pyltsin
2ea5f13ac8 IJ-CR-108265 [java-decompiler] IDEA-198397 add cancelled checks for java-decompiler. add 2 more points
GitOrigin-RevId: 6aae82cd10be851fadfe9dcd6402d4bc941e1efb
2023-06-15 19:04:19 +00:00
Mikhail Pyltsin
59b359c191 IJ-CR-108265 [java-decompiler] IDEA-198397 add cancelled checks for java-decompiler. Refresh api
GitOrigin-RevId: 0edb31b19b393df6981c3785d2a7368226c70114
2023-06-14 13:43:10 +00:00
Mikhail Pyltsin
b90082abea IJ-CR-108265 [java-decompiler] IDEA-198397 add cancelled checks for java-decompiler
GitOrigin-RevId: 845695f0775b844c27343e9216bbc5c12d0c13cc
2023-06-13 22:17:32 +00:00
Tagir Valeev
eceaae8757 Enhanced switch used; other minor warnings fixed
GitOrigin-RevId: 36dd4522e953681b2fc3463968d172d2bf6453bf
2023-06-13 13:42:37 +00:00
Mikhail Pyltsin
7cecad8e92 [java-decompiler] IDEA-198397 add cancelled checks for java-decompiler
GitOrigin-RevId: 1e0d7200861c9c09478acdbc1da1c16d17676482
2023-06-07 12:18:41 +00:00
Bart van Helvert
1747ca2305 [java-decompiler] Make console decompiler constructor public
Fixes #IDEA-316159

GitOrigin-RevId: e58bf3c1f8ab939d46c48d9d6439b0a82cb04369
2023-03-25 15:59:13 +00:00
Tagir Valeev
f456ed0604 Pattern variable can be used mass cleanup
GitOrigin-RevId: 55839bf0deca5f81d0f7eb5b1c190145a5ea0037
2023-02-07 13:58:20 +00:00
Nikolay Chashnikov
07576fecb2 [java] get rid of identity-based comparisons of Strings (IDEA-312368)
Such a code is often written by mistake, and 'equals' method should be used instead. If rare cases where identity-based comparison is really needed, the code is changed to use a special Strings.areSameInstance method to make the intention explicit and avoid warnings.

GitOrigin-RevId: e89d229059157ecc9ad21d9a189f7393839ab45f
2023-02-06 19:58:52 +00:00
Bas Leijdekkers
2ab310c68b Decompiler: fix variable used in a different switch branch than it's declared
GitOrigin-RevId: d90cadef2f81b934b6e67d307300503bde3f4fc4
2023-01-04 18:44:05 +00:00
Bas Leijdekkers
194b4ca7f8 suppress unnecessary Unicode escape warnings
GitOrigin-RevId: 45ce54deeb908343df3ad0ffebf117c644c4918d
2023-01-04 18:44:04 +00:00
Vladimir Krivosheev
57764d700b mark classes final
GitOrigin-RevId: 6414b6f2119c82c7567987dd30b35cab5491d9e2
2022-12-30 06:58:01 +00:00
Tagir Valeev
604f30df53 Fix constant values warnings
GitOrigin-RevId: 294c425cf982195817b4c8c762930676187abd9d
2022-12-05 15:06:23 +00:00