function overrideLeaveNode(node) {
  if (isAssertFail(node)) {
    this.currentNode = node;

    forwardCurrentToHead(this, node);
    CodePath.getState(this.codePath).makeThrow();

    this.original.leaveNode(node);
    this.currentNode = null;
  } else {
    originalLeaveNode.call(this, node);
  }
}
The function to override `CodePathAnalyzer.prototype.leaveNode` in order to
address `assert.fail()` as throw.

@this CodePathAnalyzer
@param {ASTNode} node - A node to be left.
@returns {void}