package qls.ast.rule; import java.util.*; /** * Created by bore on 08/03/15. */ public class Rules implements Iterable<Rule> { public static final Rules empty = new Rules(Collections.EMPTY_LIST); private final List<Rule> rules; public Rules(List<Rule> rules) { this.rules = rules; } public Iterator<Rule> iterator() { return this.rules.iterator(); } public static Rules mergeRules(Rules highPr, Rules lowPr) { List<Rule> rules = new ArrayList<>(); rules.addAll(highPr.rules); for (Rule l : lowPr) { if (!(l.isRuleOverwrittenBy(highPr))) { rules.add(l); } } return new Rules(rules); } }