Package com.helix.core.bytecode
Class DeadCodeEliminator
java.lang.Object
com.helix.core.bytecode.DeadCodeEliminator
- All Implemented Interfaces:
AstVisitor<ExpressionNode>
AST Optimization pass that eliminates unreachable branches and redundant constant logical terms.
(e.g.
true && x -> x, false && x -> false, true || x -> true, false || x -> x).-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioneliminate(ExpressionNode node) visit(BinaryOpNode node) visit(FieldAccessNode node) visit(FunctionCallNode node) visit(LiteralNode node) visit(MethodCallNode node) visit(OnnxInferenceNode node) visit(UnaryOpNode node) visit(VariableNode node) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.helix.core.parser.ast.AstVisitor
visit, visit
-
Constructor Details
-
DeadCodeEliminator
public DeadCodeEliminator()
-
-
Method Details
-
eliminate
-
visit
- Specified by:
visitin interfaceAstVisitor<ExpressionNode>
-
visit
- Specified by:
visitin interfaceAstVisitor<ExpressionNode>
-
visit
- Specified by:
visitin interfaceAstVisitor<ExpressionNode>
-
visit
- Specified by:
visitin interfaceAstVisitor<ExpressionNode>
-
visit
- Specified by:
visitin interfaceAstVisitor<ExpressionNode>
-
visit
- Specified by:
visitin interfaceAstVisitor<ExpressionNode>
-
visit
- Specified by:
visitin interfaceAstVisitor<ExpressionNode>
-
visit
- Specified by:
visitin interfaceAstVisitor<ExpressionNode>
-