diff options
| author | 2018-07-24 22:36:08 +0800 | |
|---|---|---|
| committer | 2018-07-24 22:36:08 +0800 | |
| commit | 8537f73abcf45e4380cf86d29404f61f0c9d88fe (patch) | |
| tree | 4183f6931d0d01d322fb4317eb31794f109bbe36 /src/main/java/oml/ast/transformers/InvalidIdentifierFix.java | |
| parent | missed a semicolon (diff) | |
| download | enigma-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.java | 29 |
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 @@ | |||
| 1 | package oml.ast.transformers; | ||
| 2 | |||
| 3 | import com.strobel.decompiler.languages.java.ast.AstNode; | ||
| 4 | import com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor; | ||
| 5 | import com.strobel.decompiler.languages.java.ast.Identifier; | ||
| 6 | import com.strobel.decompiler.languages.java.ast.transforms.IAstTransform; | ||
| 7 | |||
| 8 | /** | ||
| 9 | * Created by Thiakil on 13/07/2018. | ||
| 10 | */ | ||
| 11 | public 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 | } | ||