1package org.chromium.devtools.jsdoc.checks; 2 3import com.google.javascript.rhino.Node; 4 5import org.chromium.devtools.jsdoc.ValidatorContext; 6 7abstract class ContextTrackingChecker { 8 private ContextTrackingState state; 9 10 abstract void enterNode(Node node); 11 12 abstract void leaveNode(Node node); 13 14 void setState(ContextTrackingState state) { 15 this.state = state; 16 } 17 18 protected ContextTrackingState getState() { 19 return state; 20 } 21 22 protected ValidatorContext getContext() { 23 return state.getContext(); 24 } 25 26 protected void reportErrorAtNodeStart(Node node, String errorText) { 27 getContext().reportErrorInNode(node, 0, errorText); 28 } 29 30 protected void reportErrorAtOffset(int offset, String errorText) { 31 getContext().reportErrorAtOffset(offset, errorText); 32 } 33 34} 35