package org.jtwig.parser.parboiled.expression.test; import org.jtwig.model.expression.test.DivisibleByTestExpression; import org.jtwig.parser.parboiled.ParserContext; import org.jtwig.parser.parboiled.base.SpacingParser; import org.jtwig.parser.parboiled.expression.AnyExpressionParser; import org.parboiled.Rule; public class DivisibleByTestExpressionParser extends TestExpressionParser<DivisibleByTestExpression> { public DivisibleByTestExpressionParser(ParserContext context) { super(DivisibleByTestExpressionParser.class, context); } @Override public Rule Test() { SpacingParser spacingParser = parserContext().parser(SpacingParser.class); AnyExpressionParser anyExpressionParser = parserContext().parser(AnyExpressionParser.class); return Sequence( String("divisible"), spacingParser.Spacing(), String("by"), spacingParser.Spacing(), anyExpressionParser.ExpressionRule(), push(new DivisibleByTestExpression(anyExpressionParser.pop())) ); } }