code: function findVariablesInScope(scope) {
              for (const variable of scope.variables) {
                  const [
                      declaration,
                      ...extraDeclarations
                  ] = iterateDeclarations(variable);
  
                  if (extraDeclarations.length === 0) {
                      continue;
                  }
  
                  /*
                   * If the type of a declaration is different from the type of
                   * the first declaration, it shows the location of the first
                   * declaration.
                   */
                  const detailMessageId = declaration.type === "builtin"
                      ? "redeclaredAsBuiltin"
                      : "redeclaredBySyntax";
                  const data = { id: variable.name };
  
                  // Report extra declarations.
                  for (const { type, node, loc } of extraDeclarations) {
                      const messageId = type === declaration.type
                          ? "redeclared"
                          : detailMessageId;
  
                      context.report({ node, loc, messageId, data });
                  }
              }
          }
docs: Find variables in a given scope and flag redeclared ones.
  @param {Scope} scope - An eslint-scope scope object.
  @returns {void}
  @private