@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new SequencePatternExpr(newPatterns); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new OrPatternExpr(newPatterns); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new AndPatternExpr(newPatterns); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<PatternExpr>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new OrPatternExpr(newPatterns); }
@Override protected PatternExpr copy() { return new GroupPatternExpr(pattern.copy(), capture, captureGroupId, varname); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new AndPatternExpr(newPatterns); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<PatternExpr>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new AndPatternExpr(newPatterns); }
protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<PatternExpr>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new SequencePatternExpr(newPatterns); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new OrPatternExpr(newPatterns); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<PatternExpr>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new SequencePatternExpr(newPatterns); }
@Override protected PatternExpr copy() { return new GroupPatternExpr(pattern.copy(), capture, captureGroupId, varname); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new OrPatternExpr(newPatterns); }
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new AndPatternExpr(newPatterns); }
@Override protected PatternExpr copy() { return new GroupPatternExpr(pattern.copy(), capture, captureGroupId, varname); }
@Override protected PatternExpr copy() { return new RepeatPatternExpr(pattern.copy(), minMatch, maxMatch, greedyMatch); } @Override
@Override protected PatternExpr copy() { List<PatternExpr> newPatterns = new ArrayList<>(patterns.size()); for (PatternExpr p:patterns) { newPatterns.add(p.copy()); } return new SequencePatternExpr(newPatterns); }
public SequencePattern.PatternExpr getSequencePatternExpr(String name, boolean copy) { Object obj = variables.get(name); if (obj != null) { if (obj instanceof SequencePattern) { SequencePattern seqPattern = (SequencePattern) obj; return seqPattern.getPatternExpr(); } else if (obj instanceof SequencePattern.PatternExpr) { SequencePattern.PatternExpr pe = (SequencePattern.PatternExpr) obj; return (copy)? pe.copy():pe; } else if (obj instanceof NodePattern) { return new SequencePattern.NodePatternExpr( (NodePattern) obj); } else if (obj instanceof String) { try { return parser.parseSequence(this, (String) obj); } catch (Exception pex) { throw new RuntimeException("Error parsing " + obj + " to sequence pattern", pex); } } else { throw new Error("Invalid sequence pattern variable class: " + obj.getClass()); } } return null; }
@Override protected PatternExpr copy() { return new ValuePatternExpr(expr.copy(), value); }
@Override protected PatternExpr copy() { return new GroupPatternExpr(pattern.copy(), capture, captureGroupId, varname); }
@Override protected PatternExpr copy() { return new RepeatPatternExpr(pattern.copy(), minMatch, maxMatch, greedyMatch); } @Override