code: function postprocess(analyzer, node) {
      switch (node.type) {
          case "Program":
          case "FunctionDeclaration":
          case "FunctionExpression":
          case "ArrowFunctionExpression": {
              let codePath = analyzer.codePath;
  
              // Mark the current path as the final node.
              CodePath.getState(codePath).makeFinal();
  
              // Emits onCodePathSegmentEnd event of the current segments.
              leaveFromCurrentSegment(analyzer, node);
  
              // Emits onCodePathEnd event of this code path.
              debug.dump(`onCodePathEnd ${codePath.id}`);
              analyzer.emitter.emit("onCodePathEnd", codePath, node);
              debug.dumpDot(codePath);
  
              codePath = analyzer.codePath = analyzer.codePath.upper;
              if (codePath) {
                  debug.dumpState(node, CodePath.getState(codePath), true);
              }
              break;
          }
  
          default:
              break;
      }
  }
docs: Updates the code path to finalize the current code path.
  
  @param {CodePathAnalyzer} analyzer - The instance.
  @param {ASTNode} node - The current AST node.
  @returns {void}