Commit Graph

568 Commits

Author SHA1 Message Date
Ilyas Selimov
2c16bcb81e IDEA-282934 [java-decompiler] - supported the case when the temp pattern variable is in the outer scope
GitOrigin-RevId: a00f7d0a99913f01260689b7c970e34df8477cfb
2022-01-20 03:53:15 +00:00
Ilyas Selimov
87844ec3ff [java decompiler] - StatEdge type refactoring
GitOrigin-RevId: 62f2b69c2e9487f0b7d05b7f462d80d0809d997c
2022-01-19 05:27:31 +00:00
Bart van Helvert
c19e581441 [java-decompiler] Add MagicConstant annotation to type annotation target type
Also removes unused method.

GitOrigin-RevId: 6e207a6655fed79b7e71ab6031b8ffed7624e5d5
2022-01-18 14:35:20 +00:00
Bart van Helvert
7a778d0f42 [java-decompiler] Rename StructTypePath to StructTypePathEntry
Also add documentation to StructTypePathEntry

GitOrigin-RevId: 89ab50e968ba0369e2e5da6134b7ab67923bdfd1
2022-01-18 14:35:19 +00:00
Bart van Helvert
5986fab09a [java-decompiler] Make all target infos nested classes
Also adds documentation to the target infos.

GitOrigin-RevId: f2e43e8eb71d5bad6d5c9023d76affac6467fd6b
2022-01-18 14:35:17 +00:00
Ilyas Selimov
8676acc81c IDEA-285172 - [decompiler] - StrongConnectivityHelper refactoring
GitOrigin-RevId: 121119ea1def527f883a3034b1814ea7496871a0
2022-01-17 06:58:03 +00:00
Tagir Valeev
55c330ba5d [java-decompiler] Manifest added for public releases
GitOrigin-RevId: 0da970209ea028d86255a2a2b0910550c5bb1a8a
2022-01-17 06:56:34 +00:00
Ilyas Selimov
6dfd7917dd IDEA-285172 - [decompiler] - DoStatement refactoring
GitOrigin-RevId: 05b4a0007a4aaa3d519284a492232a34c8a0facd
2022-01-14 04:52:55 +00:00
Bart van Helvert
f199980591 [java-decompiler] IDEA-246757 Add type annotation test sources
GitOrigin-RevId: 7a066131ee0893c98074f4e18c89f2cd577be533
2022-01-12 14:23:42 +00:00
Bart van Helvert
661f4468bc [java-decompiler] IDEA-246757 Clean up type annotation code
GitOrigin-RevId: 3356f6a03070d45a965cadfb14d5958b17f2d482
2022-01-12 12:17:10 +00:00
Bart van Helvert
dca0cbdb99 [java-decompiler] Fix nested types in obfuscated bulk test
GitOrigin-RevId: 725a3ef71071db161da156688989bbcfbc0a4802
2022-01-12 12:17:01 +00:00
Bart van Helvert
df3ce26f31 [java-decompiler] Put back undefined type when short name can't be found
GitOrigin-RevId: 1d8d487a17a8b88a114e087c5c3f9ad97379c625
2022-01-12 12:16:58 +00:00
Bart van Helvert
4d73142156 [java-decompiler] IDEA-246757 Add type annotation test for member declarations
GitOrigin-RevId: ace0fe0b7f777a6f3e7f230ad11cf0ca4aaf4315
2022-01-12 12:16:55 +00:00
Bart van Helvert
607c20b653 [java-decompiler] IDEA-246757 Support type annotations on throws list
GitOrigin-RevId: 26d16f21faa7be4a25115be4a572c0f0d3740611
2022-01-12 12:16:53 +00:00
Bart van Helvert
25f1eec9d8 [java-decompiler] IDEA-246757 Fix method return type annotations
GitOrigin-RevId: d2c5efb803518871ff0baf0845171e4291221c5b
2022-01-12 12:16:50 +00:00
Bart van Helvert
39356a1e60 [java-decompiler] IDEA-246757 Fix type annotations for generic types
GitOrigin-RevId: 604ff8ea006a999a7ebfc93c61e84cbca41d5c88
2022-01-12 12:16:47 +00:00
Bart van Helvert
13a54e801c [java-decompiler] IDEA-246757 Support generic method and class type arguments
GitOrigin-RevId: acadb0137efcb6d8c0cfea8030cf2f8b0026361f
2022-01-12 12:16:44 +00:00
Bart van Helvert
129655fd29 [java-decompiler] IDEA-246757 Support constructor type arguments
GitOrigin-RevId: cc487850bb387fb235889eac8529751fa2dc9f24
2022-01-12 12:16:41 +00:00
Bart van Helvert
fa405c5386 [java-decompiler] IDEA-246757 Support implements and extends list type annotations
GitOrigin-RevId: 249fdf386742c7ff3166ce1afeff7875893cf011
2022-01-12 12:16:39 +00:00
Bart van Helvert
9a9c6561a7 [java-decompiler] IDEA-246757 Support nested type annotation decompilation
GitOrigin-RevId: fab9c649483e616b94c4c05fec62ec9c999312fd
2022-01-12 12:16:36 +00:00
Bart van Helvert
755332958d [java-decompiler] Don't fully import nested classes
GitOrigin-RevId: 2a72ea197a8828730c6506404b791273ddcea1e3
2022-01-12 12:16:33 +00:00
Ilyas Selimov
a22309b3f2 java decompiler - replaced DirectNode type constants with enum, naming fixes
GitOrigin-RevId: 390e710f18a73752aca9edd6116bbeff1f8848be
2022-01-10 14:16:21 +00:00
Ilyas Selimov
fcadff073f IDEA-171964 - [decompiler] - enabled test for decompiling ecj bytecode containing switch statement
GitOrigin-RevId: 3c86b83a8256db0e74ebdd7017dc0e1aec203491
2022-01-10 14:16:17 +00:00
Ilyas Selimov
32f9a9a666 IDEA-171964 - [decompiler] - remove redundant outer break edge for ecj
GitOrigin-RevId: 133f7d814980d785acd5f8dbb202b5c8894e82f6
2021-12-30 13:26:14 +00:00
Bart van Helvert
1b45f3fd30 [java-decompiler] IDEA-246757 Properly decode target infos for type parameters
GitOrigin-RevId: 39e4d7e5b6cd36aaf5479704d7ea72ca14091252
2021-12-30 12:04:43 +00:00
Bart van Helvert
4b012f2fb0 [java-decompiler] IDEA-246757 Properly annotate generic types
GitOrigin-RevId: 275b6c0fb0ee3488d358fcf53c911be2ede689a1
2021-12-30 12:04:40 +00:00
Bart van Helvert
5f8dadbcf0 [java-decompiler] Update Gradle wrapper to 7.3.3
GitOrigin-RevId: 9bc95dec77fcb5246cad50d8d1c4aea7446c2a34
2021-12-30 12:04:37 +00:00
Bart van Helvert
9b24756d90 [java-decompiler] IDEA-246757 Properly annotate array types
GitOrigin-RevId: 6a060e6019a2c4d409aa8e806a3f2201f7f0fda7
2021-12-30 12:04:34 +00:00
Bart van Helvert
98552ea6d9 [java-decompiler] IDEA-246757 Add type path decoding for type annotations
GitOrigin-RevId: 2713880c9935444c4b80d35e5cf87e6b27a87c1e
2021-12-30 12:04:32 +00:00
Ilyas Selimov
284a54777c IDEA-171964 - [decompiler] - remove temp variables after ecj bytecode decompiling
GitOrigin-RevId: d0f5ad4edddc3ae730e68fe20fb33670cca3b949
2021-12-28 15:42:03 +00:00
Ilyas Selimov
a36346a897 IDEA-171964 - [decompiler] - supported compile time constants in switch selectors for ecj
GitOrigin-RevId: 62ec258d12d29c9cc55ab6319aeae3be78461daf
2021-12-27 16:37:43 +00:00
Ilyas Selimov
187df156f5 IDEA-171964 - [decompiler] - supported switches on string for javac, ecj is in progress yet
GitOrigin-RevId: 331779d0ddedb6a66e9cd1fd0cef0a11815ea3c7
2021-12-24 17:29:46 +00:00
Ilyas Selimov
14fa6de7cb java decompiler - fixed case branches indentation in switches
GitOrigin-RevId: badec90ec3c6b56d3f58dc3aad58ae76bf7abb9a
2021-12-22 06:57:07 +00:00
Bart van Helvert
6e99a0d027 [java-decompiler] IJ-CR-18473 Fix permitted list for non-permitted nested classes
GitOrigin-RevId: 140db5f532ab5c9db955a9f3ae319433460c21bc
2021-12-17 14:13:35 +00:00
Ilyas Selimov
4e02efa43f java decompiler - replaced InterpreterUtil#equalObjects with standard Objects#equals
GitOrigin-RevId: ec66be02d42f3c87d913d3ebec28cfa8def58306
2021-12-17 08:04:22 +00:00
Bart van Helvert
016fff019b [java-decompiler] IDEA-284836 Disable multi-release jar parsing
Prevent crashes when decompiling multi-release jars. See IDEA-285079 for future work.

GitOrigin-RevId: f8cec183a1aead3489b15829f6d91c232ace8d3c
2021-12-16 14:08:02 +00:00
Bart van Helvert
8eb239402d [java-decompiler] IJ-CR-18473 More accurately calculate sealed classes support version
GitOrigin-RevId: 97aa2bacc53790e61a14ffe8c1375c2783f7b278
2021-12-16 14:08:00 +00:00
Bart van Helvert
e8a528acf3 [java-decompiler] IJ-CR-18473 Decompile permitted list entry when it isn't resolvable
Decompile all entries in the permitted list, even when the class isn't recognized by the decompiler.

GitOrigin-RevId: 3192b763b1d3d58ee576a1ea874cef685e749e5d
2021-12-16 14:07:57 +00:00
Ilyas Selimov
2acba4084d java decompiler - invocation exprent fields/constants naming fixes
GitOrigin-RevId: 641f9c3ac4d8b8cb01eba8bbc3358ae6ef6dee4d
2021-12-15 15:39:50 +00:00
Ilyas Selimov
6e6c1309fb java decompiler - set a statement type inside ctor, typo fixes
GitOrigin-RevId: 1ba379c86318a24d7ff7cea9590a09ccdf4acb89
2021-12-15 12:37:35 +00:00
Ilyas Selimov
807021ce8e java decompiler - base refactoring for switch statements
GitOrigin-RevId: fa81ca75751f4bad5366023d82ac74e5192beff7
2021-12-15 11:38:00 +00:00
Ilyas Selimov
cc2ba89abf java decompiler - added dependency to jetbrains-annotations
GitOrigin-RevId: 86cb94e900f8b1d99031f458ea66531be9158295
2021-12-15 09:30:08 +00:00
Bart van Helvert
2daeb6cf8c [java-decompiler] IJ-CR-18473 Only take non-null class nodes from signatures
Stops the decompiler from throwing nullpointer if the signature can't be found.

GitOrigin-RevId: 490e3c692a160efd415ca030fe2c0bc610db71ee
2021-12-13 22:19:33 +00:00
Bart van Helvert
ce1dfda7f1 [java-decompiler] IJ-CR-18503 Fix bulk compilation test
Removes 'D' suffix from double literals in bulk compilation test data.

GitOrigin-RevId: 44571663d3ac84acba7d9c7284cced7242dfca3f
2021-12-13 18:21:04 +00:00
Bart van Helvert
82147e6ecb [java-decompiler] IJ-CR-18473 Sealed classes codestyle improvements
GitOrigin-RevId: a80f3b13b9ba0c73ee4eb1412bde941f675de69e
2021-12-13 15:43:48 +00:00
Bart van Helvert
7cfa69cd39 [java-decompiler] IJ-CR-18502 Don't decompile common constant variables in own declaration
Prevents variables from referencing themselves, for example: `public static final int MIN_VALUE = MIN_VALUE` in `java.lang.Integer`.

GitOrigin-RevId: b415924b4bb752f5b47e5191d6b65d9416f88117
2021-12-13 15:43:46 +00:00
Bart van Helvert
a415b77d56 [java-decompiler] IJ-CR-18502 Don't convert max and min byte values to constants
GitOrigin-RevId: 99bcba7d63df90782a804271bda8cd36984ac6fe
2021-12-13 15:43:45 +00:00
Bart van Helvert
0d6c39a5fd [java-decompiler] IJ-CR-18503 Remove 'D' suffix from double literals
GitOrigin-RevId: e69a3aa2927817222e6f689e73fd35062d679e1c
2021-12-13 15:43:43 +00:00
Bart van Helvert
6dafdd9f1c [java-decompiler] IDEA-284630 Fix common constant float decompilation
Fixes decompilation of `Float.isNaN`, `Float.POSITIVE_INFINITY` and `Float.NEGATIVE_INFINITY`. Also explicitly adds type suffix for floating point literals for doubles for clarity.

GitOrigin-RevId: 76aaa564700493e9140c4bfd0ef33ea65efd6110
2021-12-10 14:00:51 +00:00
Bart van Helvert
9e22354676 [java-decompiler] IDEA-283990 Support decompiliation to more common constants
Adds support for decompiling the following constants:
* Byte.MIN_VALUE, Byte.MAX_VALUE, Short.MIN_VALUE, Short.MAX_VALUE
* Float.MIN_NORMAL, Double.MIN_NORMAL
* Math.PI, Math.E

GitOrigin-RevId: a3f17dc287eef2ce32ede5af50118e131ea3f630
2021-12-10 14:00:50 +00:00