]> git.uio.no Git - ifi-stolz-refaktor.git/blobdiff - software/no.uio.ifi.refaktor/src/no/uio/ifi/refaktor/analyze/analyzers/LegalStatementsChecker.java
LegalStatementsChecker: refactoring
[ifi-stolz-refaktor.git] / software / no.uio.ifi.refaktor / src / no / uio / ifi / refaktor / analyze / analyzers / LegalStatementsChecker.java
index be88d15024139b86ff357fa93337bf2a218010b8..f8b62c50931c935d349d59b2ff443fff1ef9f668 100644 (file)
@@ -1,20 +1,31 @@
 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;
        }
 
 }