package no.uio.ifi.refaktor.analyze.analyzers;
+import java.util.LinkedList;
+import java.util.List;
+
import no.uio.ifi.refaktor.analyze.collectors.BranchingStatementsChecker;
import no.uio.ifi.refaktor.utils.CompilationUnitTextSelection;
public class LegalStatementsChecker {
- private final BranchingStatementsChecker branchingStatementsChecker;
- private final IllegalStatementsChecker illegalStatementsChecker;
+ private final List<Checker> checkers;
public LegalStatementsChecker(CompilationUnitTextSelection selection) {
- branchingStatementsChecker = new BranchingStatementsChecker(selection);
- illegalStatementsChecker = new IllegalStatementsChecker(selection);
+ checkers = new LinkedList<Checker>();
+ checkers.add(new BranchingStatementsChecker(selection));
+ checkers.add(new IllegalStatementsChecker(selection));
}
- public boolean allStatementsOK() {
- return branchingStatementsChecker.allStatementsOK() && illegalStatementsChecker.noIllegalStatementsFound();
+ public boolean allStatementsAreLegal() {
+ try {
+ for(Checker checker: checkers)
+ checker.check();
+ } catch (IllegalStatementFoundException e) {
+ return false;
+ } catch (IllegalExpressionFoundException e) {
+ return false;
+ }
+ return true;
}
}