enterNode(node) {
    this.currentNode = node;

    // Updates the code path due to node's position in its parent node.
    if (node.parent) {
      preprocess(this, node);
    }

    /*
     * Updates the code path.
     * And emits onCodePathStart/onCodePathSegmentStart events.
     */
    processCodePathToEnter(this, node);

    this.currentNode = null;
  }
Does the process to enter a given AST node.
This updates state of analysis and calls `enterNode` of the wrapped.
@param {ASTNode} node A node which is entering.
@returns {void}