Graham
b3a455fb1a
Relax isExprentIndependent
...
I think the EXPRENT_FIELD condition exists in case the field's
initializer depends on a prior field in the same class.
We already handle this case in the deobfuscator, which ensures fields
appear in exactly the order in which they are first written to in the
<init> and <clinit> methods. (This isn't perfect, as we ignore the
problem of multiple <init> methods writing fields in different orders to
each other, but it seems good enough for the client.)
4 years ago
Tagir Valeev
1685759f61
Use Math.min/max
...
GitOrigin-RevId: 4fafd6b7ef8fd2e8ac99b6e0c8af2d092ded2526
5 years ago
Tagir Valeev
8382c008b2
Fixed unnecessarily escaped character
...
GitOrigin-RevId: 9532833be54e94cfe74dee90f4ca815790d7f5be
5 years ago
Tagir Valeev
488da329f4
Fix warnings (redundant boolean operation and others)
...
GitOrigin-RevId: 115ba7dfd69a2b37963430aac7e979271c0331db
5 years ago
Graham
1526cea2a5
Annotate variables in catch statements with @Pc
5 years ago
Graham
d2718bd7b0
Improve code for setting the bytecodeOffset in VarDefinitionHelper
5 years ago
Graham
eb536c94d7
Add bytecodeOffset to stack variables where it is unique
5 years ago
Graham
35228e6d63
Populate bytecodeOffset of definitions created in VarDefinitionHelper
5 years ago
Graham
b4c1bab1b6
Add separate bytecodeOffset variable to VarExprent
...
I think it's best not to conflate this with visibleOffset, as
visibleOffset is not always set to bytecode_offset and it is also used
for other things (e.g. looking up debug variable names).
5 years ago
Justin
0d2a413b2a
Fix finally processor instruction comparison
5 years ago
Graham
a7f0e61c74
Revert "Relax operand equality condition in try/finally detection"
...
This reverts commit 7e2421df89
.
5 years ago
Graham
a6b6f0a54b
Set visibleOffset of IINC VarExprents
5 years ago
Graham
c7079537a3
Add @Pc annotations to local variable declarations
...
This isn't perfect. It doesn't handle stack variables yet. I think there
are also some places where Fernflower fiddles around with VarExprents
where we'll need to copy the bytecode offset.
5 years ago
Graham
19cae4fa08
Pass StructMethod to processBlock()
...
This will allow us to get at the OriginalPcTable.
5 years ago
Graham
391e495e5e
Sort imports in ExprProcessor
5 years ago
Graham
52a8a00698
Add OriginalPcTable attribute decoder
5 years ago
Vladimir Ilmov
e35da00aec
KT-25937 Decompilation to Java makes UI lag roughly every 2 seconds, and is not cancellable
...
GitOrigin-RevId: 58ce5d601bcebb5826cb938f6ea365fa245e7be1
5 years ago
Graham
317e26e299
Add char literal type inference to add/sub operators
5 years ago
Graham
404134cb5e
Remove VARTYPE_CHAR from guessType
...
This significantly reduces the number of integers that are incorrectly
converted to char literals.
5 years ago
Vladimir Krivosheev
246de918cc
remove author (only some, where it is ok)
...
GitOrigin-RevId: 7dbab7524fe4efc5d17a04b95dee88b6f80fbe8d
5 years ago
md_5
4ca282df94
IDEA-204998: Use decompile classes in preference to library classes
...
GitOrigin-RevId: c600f67f720c2b74fe9009bb3dfb91b2dd6e868c
5 years ago
Graham
7e2421df89
Relax operand equality condition in try/finally detection
...
This isn't ideal and probably isn't safe in the general case, but it
does fix the only case where we couldn't deinline a finally block. (In
turn, this caused further problems because the SSA code is not aware of
the monitor variables inserted by Fernflower if it can't deinline a
finally block.)
5 years ago
Graham
4aa496dff8
Disable variable merging
...
This tightens the scope of variables, which is nicer for readability -
particularly as Fernflower likes sticking variable declarations in the
middle of long if/else chains.
5 years ago
Tagir Valeev
14255d2f89
Extract common parts from 'if'
...
GitOrigin-RevId: 60ebdfdb9588caf907ef111e3ed08e799c0a7d17
5 years ago
Sergey Ignatov
877b0bb707
there's no need to use <? extends String>, because String is final
...
sometimes it's necessary, e.g. when we're substituting any generic with the real type
GitOrigin-RevId: a8c453813b04213f7e24dd80bc7ccec4eb78efcb
5 years ago
Rustam Vishnyakov
e2d2701ca9
EditorConfig documentation test
...
GitOrigin-RevId: fd52ace3d7a32ecd02c2c5ab90e077967604c15e
5 years ago
Egor Zhdan
88db2ab37a
Cleanup: NotNull/Nullable
...
GitOrigin-RevId: b8e892f32ea84c2115973155dba7127b892cc36e
5 years ago
Anna Kozlova
a431a3c93e
constructor reference: don't ignore constructor parameters during method reference inference (IDEA-185578)
...
GitOrigin-RevId: e836468e05db28157713e9edd3c70382f8ecdebc
5 years ago
Egor Zhdan
20d0e0f1e5
Cleanup: NotNull/Nullable
...
GitOrigin-RevId: b8e892f32ea84c2115973155dba7127b892cc36e
5 years ago
Aleksey Rostovskiy
89e9a42b63
get rid of intellij.build.toolbox.litegen parameter and use BuildOptions.TOOLBOX_LITE_GEN_STEP to skip it instead
...
GitOrigin-RevId: 9aac8ee4ed1ebf2a29de18a238825fafb1ab88f9
6 years ago
Alexandr Suhinin
d05fff192f
[duplicates] enable duplicates analysis in PyCharm/WebStorm/PhpStorm/RubyMine
...
GitOrigin-RevId: 1545b79fdca4888f4b94f47f22703fd37694fa7a
6 years ago
Anton Makeev
24a695344e
Merge remote-tracking branch 'origin/master' into amakeev/gradle
...
GitOrigin-RevId: f9a633252daf311ecab19002c0f4757052eee9dc
6 years ago
Anton Makeev
c25785846b
Merge branch 'master' into amakeev/gradle
...
# Conflicts:
# community/plugins/gradle/src/org/jetbrains/plugins/gradle/service/settings/IdeaGradleProjectSettingsControlBuilder.java
GitOrigin-RevId: d931e798108685731bf185f7c2e3221680b8e5a2
6 years ago
Anton Makeev
c66c8fc54e
IDEA-210281 Cleanup Gradle settings: separate Runner configurable removed
...
GitOrigin-RevId: adbc39121fe91beb633e125b4cf39bfe0a422e4b
6 years ago
Gregory.Shrago
042f6bd9a7
migrate to StringUtil.toLower/UpperCase, ENGLISH locale
...
GitOrigin-RevId: 3a8627e7aef5991ee840996c6f7f147d1f747a3b
6 years ago
Alexey Kudravtsev
f9c29f0c92
add PECS wildcards to method signatures where necessary and where methods are not overridden by plugins
...
GitOrigin-RevId: 1ec7f1a1aa17d2d4f42e647207323ab8a3138683
6 years ago
Artemiy Sartakov
0cf8fc49d0
IfStatementMissingBreakInLoopInspection: added break if iterations have no effect after condition is met (IDEA-210094)
6 years ago
Leon Linhart
df035f4344
decompiler: Recognize enum as keyword on Java 5
6 years ago
Egor Ushakov
a0a8f0a8dd
IDEA-208443 Java decompiler not correctly decompiling string concatenation with recent Java
6 years ago
Alexey Kudravtsev
1cdee1fbf4
cleanup: make fields final
6 years ago
Tagir Valeev
eda6ab8d84
Fixed integer multiplication in long context
6 years ago
Egor Ushakov
2c2b00b369
cleanup: remove redundant casts
6 years ago
Egor Ushakov
ccc203e92b
IDEA-197665 Decompiler decompiles references to static fields inside class incorrectly
6 years ago
md_5
8f2a97adc3
IDEA-204310: Decompiler adds redundant imports for lambdas
6 years ago
Egor Ushakov
ca01d9877b
IDEA-174243 Decompiler Switch-Enum Sugaring Doesn't Support Obfuscated Code
6 years ago
Roman Shevchenko
e9cae6c720
Cleanup (formatting)
6 years ago
md_5
4e0e391798
[IDEA-204272] Fix varargs params losing generic info
...
Regression introduced in commit 82a2939271
"java-decompiler: cleanups and fixes"
6 years ago
Egor Ushakov
f320e3abd4
IDEA-204223 Decompiler doesn't add mandatory narrowing cast on integer type
6 years ago
Roman Shevchenko
e9989d15e3
Cleanup (warnings)
6 years ago
Roman Shevchenko
f8ed069d76
Cleanup (warnings; formatting)
6 years ago