package uva.ql.interpreter.typecheck.error;
import java.util.ArrayList;
import java.util.List;
public class IssueList {
private final List<IssueObject> issueList = new ArrayList<IssueObject>();
public boolean hasErrors(){
return !this.errorList().isEmpty();
}
public List<IssueObject> errorList(){
List<IssueObject> issues = new ArrayList<IssueObject>();
for (IssueObject issue : this.issueList){
if (issue.issueIsError()){
issues.add(issue);
}
}
return issues;
}
public List<IssueObject> getErrorOfType(IssueType.ERROR errorType){
List <IssueObject> issues = new ArrayList<IssueObject>();
for (IssueObject issue : this.errorList()){
if (issue.isOfErrorType(errorType)){
issues.add(issue);
}
}
return issues;
}
public void putIssue(IssueObject issueObject){
this.issueList.add(issueObject);
}
public List<IssueObject> getIssueList(){
return this.issueList;
}
public void printIssues(){
for (IssueObject issue : this.issueList){
System.err.println(issue.toString());
}
}
@Override
public String toString(){
return this.issueList.toString();
}
}