]> git.uio.no Git - ifi-stolz-refaktor.git/blame - software/no.uio.ifi.refaktor/src/no/uio/ifi/refaktor/analyze/checkers/LegalStatementsChecker.java
Software: moving stuff around
[ifi-stolz-refaktor.git] / software / no.uio.ifi.refaktor / src / no / uio / ifi / refaktor / analyze / checkers / LegalStatementsChecker.java
CommitLineData
039dfeb3 1package no.uio.ifi.refaktor.analyze.checkers;
3acc51ac 2
398d7e0c
EK
3import java.util.LinkedList;
4import java.util.List;
5
9866650d 6import no.uio.ifi.refaktor.analyze.exceptions.CheckerException;
3acc51ac
EK
7import no.uio.ifi.refaktor.utils.CompilationUnitTextSelection;
8
9public class LegalStatementsChecker {
10
398d7e0c 11 private final List<Checker> checkers;
3acc51ac
EK
12
13 public LegalStatementsChecker(CompilationUnitTextSelection selection) {
398d7e0c 14 checkers = new LinkedList<Checker>();
322d337d 15 checkers.add(new CallToProtectedOrPackagePrivateMethodChecker(selection));
86043dc9 16 checkers.add(new InstantiationOfNonStaticInnerClassChecker(selection));
a922449d
EK
17 checkers.add(new EnclosingInstanceReferenceChecker(selection));
18 // TODO: check out org.eclipse.jdt.internal.corext.refactoring.structure.MoveInstanceMethodProcessor.RecursiveCallFinder
cf94d612 19 checkers.add(new ReturnStatementsChecker(selection));
2356cfdd 20 checkers.add(new AmbiguousReturnValueChecker(selection));
398d7e0c 21 checkers.add(new IllegalStatementsChecker(selection));
3acc51ac
EK
22 }
23
398d7e0c
EK
24 public boolean allStatementsAreLegal() {
25 try {
26 for(Checker checker: checkers)
27 checker.check();
9866650d 28 } catch (CheckerException e) {
398d7e0c
EK
29 return false;
30 }
31 return true;
3acc51ac
EK
32 }
33
34}