package fr.inria.diversify.codeFragmentProcessor; import fr.inria.diversify.codeFragment.Expression; import fr.inria.diversify.util.Log; import spoon.reflect.code.CtExpression; /** * User: Simon * Date: 5/3/13 * Time: 4:50 PM */ public class ExpressionProcessor extends AbstractCodeFragmentProcessor<CtExpression<?>> { @Override public void process(CtExpression<?> element) { try { if(isValidStatement(element) && element.getPosition() != null) addCf(new Expression(element)); } catch (Exception e) { Log.error("error in ExpressionProcessor with expression: "+element, e); } } protected boolean isValidStatement(CtExpression<?> element) { ValidExpressionVisitor valid = new ValidExpressionVisitor(element); element.accept(valid); return valid.isValid(); } }