]> git.uio.no Git - ifi-stolz-refaktor.git/blame - case-study/refaktor-before/src/no/uio/ifi/refaktor/analyze/checkers/LegalStatementsChecker.java
Case Study: adding data and statistics
[ifi-stolz-refaktor.git] / case-study / refaktor-before / src / no / uio / ifi / refaktor / analyze / checkers / LegalStatementsChecker.java
CommitLineData
1b2798f6
EK
1package no.uio.ifi.refaktor.analyze.checkers;
2
3import java.util.LinkedList;
4import java.util.List;
5
6import no.uio.ifi.refaktor.analyze.exceptions.CheckerException;
7import no.uio.ifi.refaktor.textselection.CompilationUnitTextSelection;
8
9public class LegalStatementsChecker {
10
11 private final List<Checker> checkers;
12
13 public LegalStatementsChecker(CompilationUnitTextSelection selection) {
14 checkers = new LinkedList<Checker>();
15 checkers.add(new CallToProtectedOrPackagePrivateMethodChecker(selection));
16 checkers.add(new DoubleClassInstanceCreationChecker(selection));
17 checkers.add(new InstantiationOfNonStaticInnerClassChecker(selection));
18 checkers.add(new EnclosingInstanceReferenceChecker(selection));
19 // TODO: check out org.eclipse.jdt.internal.corext.refactoring.structure.MoveInstanceMethodProcessor.RecursiveCallFinder
20 checkers.add(new ReturnStatementsChecker(selection));
21 checkers.add(new AmbiguousReturnValueChecker(selection));
22 checkers.add(new IllegalStatementsChecker(selection));
23 }
24
25 public boolean allStatementsAreLegal() {
26 try {
27 for(Checker checker: checkers)
28 checker.check();
29 } catch (CheckerException e) {
30 return false;
31 }
32 return true;
33 }
34
35}