package qls.errorhandling.error; import java.util.List; import java.util.Set; import ql.ast.QLNode; import ql.ast.expression.Identifier; public class MissingIdentifiersError extends qls.errorhandling.Error { public MissingIdentifiersError(QLNode origin, List<Identifier> processed, Set<Identifier> all) { super(origin, "(" + origin.getClass().getSimpleName() + ") misses the following identifiers.\n" + missingIdentifierString(processed, all)); } private static String missingIdentifierString(List<Identifier> processed, Set<Identifier> all) { StringBuilder missing = new StringBuilder("-- Missing Identifiers --\n"); all.stream() .filter(identifier -> !processed.contains(identifier)) .forEach(identifier -> missing.append(" > " + identifier + "\n")); return missing.toString(); } }