summaryrefslogtreecommitdiff
path: root/src/main/java/oml/ast/transformers/InvalidIdentifierFix.java
diff options
context:
space:
mode:
authorGravatar Thiakil2018-07-24 22:36:08 +0800
committerGravatar Thiakil2018-07-24 22:36:08 +0800
commit8537f73abcf45e4380cf86d29404f61f0c9d88fe (patch)
tree4183f6931d0d01d322fb4317eb31794f109bbe36 /src/main/java/oml/ast/transformers/InvalidIdentifierFix.java
parentmissed a semicolon (diff)
downloadenigma-8537f73abcf45e4380cf86d29404f61f0c9d88fe.tar.gz
enigma-8537f73abcf45e4380cf86d29404f61f0c9d88fe.tar.xz
enigma-8537f73abcf45e4380cf86d29404f61f0c9d88fe.zip
more custom source transformers
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}