move asm related tests from FilterOpTest to OptimizedAsmParser testcase
This commit is contained in:
42
src/main/java/jef/asm/OptimizedAsmParser.java
Normal file
42
src/main/java/jef/asm/OptimizedAsmParser.java
Normal file
@@ -0,0 +1,42 @@
|
||||
package jef.asm;
|
||||
|
||||
import jef.expressions.Expression;
|
||||
import jef.expressions.modifier.ExpressionOptimizerBottomUp;
|
||||
import jef.expressions.modifier.IConst0Fixer;
|
||||
import jef.expressions.modifier.TableAliasInjector;
|
||||
import jef.expressions.modifier.TernaryRewriter;
|
||||
import jef.serializable.SerializableFunction;
|
||||
import jef.serializable.SerializablePredicate;
|
||||
import lombok.Getter;
|
||||
import org.objectweb.asm.ClassReader;
|
||||
import org.objectweb.asm.Opcodes;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.Serializable;
|
||||
import java.lang.invoke.SerializedLambda;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
@Getter
|
||||
public class OptimizedAsmParser extends AsmParser{
|
||||
|
||||
public OptimizedAsmParser(SerializablePredicate<?> predicate) {
|
||||
super(predicate);
|
||||
}
|
||||
|
||||
public OptimizedAsmParser(SerializableFunction<?, ?> function) {
|
||||
super(function);
|
||||
}
|
||||
|
||||
public Expression parse() throws AsmParseException {
|
||||
var expr = super.parse();
|
||||
|
||||
System.out.println(expr);
|
||||
expr = new TernaryRewriter().modify(expr);
|
||||
System.out.println(expr);
|
||||
expr = new IConst0Fixer().modify(expr);
|
||||
System.out.println(expr);
|
||||
expr = new ExpressionOptimizerBottomUp().modify(expr);
|
||||
|
||||
return expr;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user