package jetbrains.mps.lang.test.behavior;
/*Generated by MPS */
import jetbrains.mps.typesystem.inference.ITypechecking;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.typesystem.inference.TypeCheckingContext;
public abstract class NodeTypeCheckingAction implements ITypechecking.Action {
private SNode operation;
public NodeTypeCheckingAction(final SNode operation) {
this.operation = operation;
}
public SNode getNodeToCheck() {
return INodesTestMethod__BehaviorDescriptor.getAnnotatedNode_id38gbJV0XvZR.invoke(operation);
}
public abstract void checkOperation(TypeCheckingContext context);
public void run(TypeCheckingContext context) {
SNode nodeToCheck = getNodeToCheck();
context.checkIfNotChecked(nodeToCheck, true);
checkOperation(context);
}
}