109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)package org.chromium.devtools.jsdoc;
209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)
3197021e6b966cfb06891637935ef33fff06433d1Ben Murdochimport com.google.javascript.rhino.Node;
409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)
509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)/**
609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) * A base class for all JSDoc validation checks.
709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) */
809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)public abstract class ValidationCheck implements DoDidNodeVisitor {
909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)
1009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)    private ValidatorContext context;
1109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)
12197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    protected String getNodeText(Node node) {
1309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)        return context.getNodeText(node);
1409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)    }
1509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)
1609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)    protected void setContext(ValidatorContext context) {
1709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)        if (this.context != null) {
1809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)            throw new RuntimeException("ValidatorContext already set");
1909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)        }
2009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)        this.context = context;
2109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)    }
2209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)}
23