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 });
                }
            }
        }
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 });
                }
            }
        }
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 } ) ; } } }
Find variables in a given scope and flag redeclared ones.
@param {Scope} scope - An eslint-scope scope object.
@returns {void}
@private
Find variables in a given scope and flag redeclared ones .
Find variables in a given scope.