summaryrefslogtreecommitdiff
path: root/src/main/java/oml/ast/transformers/InvalidIdentifierFix.java
diff options
context:
space:
mode:
authorGravatar Adrian Siekierka2018-10-26 19:42:24 +0200
committerGravatar Adrian Siekierka2018-10-26 19:42:42 +0200
commit97056986946cafdf79005721161edea2087c3b67 (patch)
tree020fede2de6dcb120ebc74569b856bb9f7e2e59d /src/main/java/oml/ast/transformers/InvalidIdentifierFix.java
parentmake rebuild method names discard child-only names. imperfect, but eh (diff)
parent"make sure this is actually a field" properly (diff)
downloadenigma-97056986946cafdf79005721161edea2087c3b67.tar.gz
enigma-97056986946cafdf79005721161edea2087c3b67.tar.xz
enigma-97056986946cafdf79005721161edea2087c3b67.zip
update ASM/Guava, merge ASM port fixes
Diffstat (limited to 'src/main/java/oml/ast/transformers/InvalidIdentifierFix.java')
-rw-r--r--src/main/java/oml/ast/transformers/InvalidIdentifierFix.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/oml/ast/transformers/InvalidIdentifierFix.java b/src/main/java/oml/ast/transformers/InvalidIdentifierFix.java
new file mode 100644
index 00000000..3e052ded
--- /dev/null
+++ b/src/main/java/oml/ast/transformers/InvalidIdentifierFix.java
@@ -0,0 +1,29 @@
1package oml.ast.transformers;
2
3import com.strobel.decompiler.languages.java.ast.AstNode;
4import com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor;
5import com.strobel.decompiler.languages.java.ast.Identifier;
6import com.strobel.decompiler.languages.java.ast.transforms.IAstTransform;
7
8/**
9 * Created by Thiakil on 13/07/2018.
10 */
11public class InvalidIdentifierFix implements IAstTransform {
12 @Override
13 public void run(AstNode compilationUnit) {
14 compilationUnit.acceptVisitor(new Visitor(), null);
15 }
16
17 class Visitor extends DepthFirstAstVisitor<Void,Void>{
18 @Override
19 public Void visitIdentifier(Identifier node, Void data) {
20 super.visitIdentifier(node, data);
21 if (node.getName().equals("do") || node.getName().equals("if")){
22 Identifier newIdentifier = Identifier.create(node.getName() + "_", node.getStartLocation());
23 newIdentifier.copyUserDataFrom(node);
24 node.replaceWith(newIdentifier);
25 }
26 return null;
27 }
28 }
29}