case "and": case "&&": if (context.not) throw new SyntaxError("not before operator"); if (pattern != null) throw new SyntaxError("type before operator"); case "or": case "||": if (context.not) throw new SyntaxError("not before operator"); if (pattern != null) throw new SyntaxError("type before operator"); if (context.parent == null) throw new SyntaxError("can't close bracket"); Context last = context; context = context.parentContext; if (pattern != null) throw new SyntaxError("type after pattern"); pattern = new ModelFs(); break; case "sql": if (pattern != null) throw new SyntaxError("type after pattern"); pattern = new ModelSql(); break; case "regex": if (pattern != null) throw new SyntaxError("type after pattern"); pattern = new ModelRegex(); break; if (context.current == null && context.first != null) throw new SyntaxError("pattern after pattern without operation"); if (pattern == null) pattern = new ModelRegex(); pattern.setPattern(part);
case "and": case "&&": if (context.not) throw new SyntaxError("not before operator"); if (pattern != null) throw new SyntaxError("type before operator"); case "or": case "||": if (context.not) throw new SyntaxError("not before operator"); if (pattern != null) throw new SyntaxError("type before operator"); if (context.parent == null) throw new SyntaxError("can't close bracket"); Context last = context; context = context.parentContext; if (pattern != null) throw new SyntaxError("type before type"); pattern = new ModelFs(); break; case "sql": if (pattern != null) throw new SyntaxError("type before type"); pattern = new ModelSql(); break; case "regex": if (pattern != null) throw new SyntaxError("type before type"); pattern = new ModelRegex(); break; if (context.current == null && context.first != null) throw new SyntaxError("pattern after pattern without operation"); if (param == null) param = context.current.getParamName(); if (param == null) throw new SyntaxError("pattern without parameter name");