]>
Commit | Line | Data |
---|---|---|
039dfeb3 | 1 | package no.uio.ifi.refaktor.analyze.checkers; |
3acc51ac | 2 | |
398d7e0c EK |
3 | import java.util.LinkedList; |
4 | import java.util.List; | |
5 | ||
9866650d | 6 | import no.uio.ifi.refaktor.analyze.exceptions.CheckerException; |
3acc51ac EK |
7 | import no.uio.ifi.refaktor.utils.CompilationUnitTextSelection; |
8 | ||
9 | public 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 | } |