@Override public Expr make(ItemList list) { BuilderLib.checkLength(3, 4, list, "Regex: wanted 2 or 3 arguments") ; Expr expr = buildExpr(list.get(1)) ; Expr pattern = buildExpr(list.get(2)) ; Expr flags = null ; if ( list.size() != 3 ) flags = buildExpr(list.get(3)) ; return new E_Regex(expr, pattern, flags) ; } };
public Expr make(ItemList list) { BuilderLib.checkLength(3, 4, list, "Regex: wanted 2 or 3 arguments") ; Expr expr = buildExpr(list.get(1)) ; Expr pattern = buildExpr(list.get(2)) ; Expr flags = null ; if ( list.size() != 3 ) flags = buildExpr(list.get(3)) ; return new E_Regex(expr, pattern, flags) ; } };
final public Expr RegexExpression() throws ParseException { Expr expr ; Expr patExpr = null ; Expr flagsExpr = null ; jj_consume_token(REGEX); jj_consume_token(LPAREN); expr = Expression(); jj_consume_token(COMMA); patExpr = Expression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: jj_consume_token(COMMA); flagsExpr = Expression(); break; default: jj_la1[68] = jj_gen; ; } jj_consume_token(RPAREN); {if (true) return new E_Regex(expr, patExpr, flagsExpr) ;} throw new Error("Missing return statement in function"); }
final public Expr RegexExpression() throws ParseException { Expr expr ; Expr patExpr = null ; Expr flagsExpr = null ; jj_consume_token(REGEX); jj_consume_token(LPAREN); expr = Expression(); jj_consume_token(COMMA); patExpr = Expression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: jj_consume_token(COMMA); flagsExpr = Expression(); break; default: jj_la1[134] = jj_gen; ; } jj_consume_token(RPAREN); {if (true) return new E_Regex(expr, patExpr, flagsExpr) ;} throw new Error("Missing return statement in function"); }
final public Expr RegexExpression() throws ParseException { Expr expr ; Expr patExpr = null ; Expr flagsExpr = null ; jj_consume_token(REGEX); jj_consume_token(LPAREN); expr = Expression(); jj_consume_token(COMMA); patExpr = Expression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: jj_consume_token(COMMA); flagsExpr = Expression(); break; default: jj_la1[147] = jj_gen; ; } jj_consume_token(RPAREN); {if (true) return new E_Regex(expr, patExpr, flagsExpr) ;} throw new Error("Missing return statement in function"); }
final public Expr RegexExpression() throws ParseException { Expr expr ; Expr patExpr = null ; Expr flagsExpr = null ; jj_consume_token(REGEX); jj_consume_token(LPAREN); expr = Expression(); jj_consume_token(COMMA); patExpr = Expression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: jj_consume_token(COMMA); flagsExpr = Expression(); break; default: jj_la1[138] = jj_gen; ; } jj_consume_token(RPAREN); {if (true) return new E_Regex(expr, patExpr, flagsExpr) ;} throw new Error("Missing return statement in function"); }
final public Expr RegexExpression() throws ParseException { Expr expr ; Expr patExpr = null ; Expr flagsExpr = null ; jj_consume_token(REGEX); jj_consume_token(LPAREN); expr = Expression(); jj_consume_token(COMMA); patExpr = Expression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: jj_consume_token(COMMA); flagsExpr = Expression(); break; default: jj_la1[68] = jj_gen; ; } jj_consume_token(RPAREN); {if (true) return new E_Regex(expr, patExpr, flagsExpr) ;} throw new Error("Missing return statement in function"); }
final public Expr RegexExpression() throws ParseException { Expr expr ; Expr patExpr = null ; Expr flagsExpr = null ; jj_consume_token(REGEX); jj_consume_token(LPAREN); expr = Expression(); jj_consume_token(COMMA); patExpr = Expression(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: jj_consume_token(COMMA); flagsExpr = Expression(); break; default: jj_la1[143] = jj_gen; ; } jj_consume_token(RPAREN); {if (true) return new E_Regex(expr, patExpr, flagsExpr) ;} throw new Error("Missing return statement in function"); }
@Override public NodeValue exec(Binding binding, ExprList args, String uri, FunctionEnv env) { if ( myArgs != args ) throw new ARQInternalErrorException("matches: Arguments have changed since checking") ; Expr expr = args.get(0) ; E_Regex regexEval = regex ; if ( regexEval == null ) { Expr e1 = args.get(1) ; Expr e2 = null ; if ( args.size() == 3 ) e2 = args.get(2) ; String pattern = e1.eval(binding, env).getString() ; String flags = (e2==null)?null : e2.eval(binding, env).getString() ; regexEval = new E_Regex(expr, pattern, flags) ; // Cache if the pattern is fixed and the flags are fixed or non-existant if ( e1 instanceof NodeValue && ( e2 == null || e2 instanceof NodeValue ) ) regex = regexEval ; } NodeValue nv = regexEval.eval(binding, env) ; return nv ; }
public NodeValue exec(Binding binding, ExprList args, String uri, FunctionEnv env) { if ( myArgs != args ) throw new ARQInternalErrorException("matches: Arguments have changed since checking") ; Expr expr = args.get(0) ; E_Regex regexEval = regex ; if ( regexEval == null ) { Expr e1 = args.get(1) ; Expr e2 = null ; if ( args.size() == 3 ) e2 = args.get(2) ; String pattern = e1.eval(binding, env).getString() ; String flags = (e2==null)?null : e2.eval(binding, env).getString() ; regexEval = new E_Regex(expr, pattern, flags) ; // Cache if the pattern is fixed and the flags are fixed or non-existant if ( e1 instanceof NodeValue && ( e2 == null || e2 instanceof NodeValue ) ) regex = regexEval ; } NodeValue nv = regexEval.eval(binding, env) ; return nv ; }
elementGroup.addElementFilter(new ElementFilter(new E_Regex(new E_Str(new ExprVar(variable.asNode())), constraint , "")));