lib/rules/indentation.js
function inspectFunctionDeclaration(emitted) {
            let node = emitted.node, params = node.params || [];

            let startLine = sourceCode.getLine(node),
                lastArgLine = params.length ? sourceCode.getEndingLine(params.slice(-1) [0]) : startLine,
                functionDeclarationLineText, currentIndent, currentIndentLevel;

            function inspectParam(paramIndent, paramIndentDesc, param) {
                let indentRegExp = new RegExp("^" + paramIndent + "[^\\s(\/\*)]"),
                    paramLineText = sourceCode.getTextOnLine(sourceCode.getLine(param));

                //parameter declaration must be preceded by only correct level of indentation & no comments
                !indentRegExp.test(paramLineText) && context.report({
                    node: param,
                    message: `Only use indent of ${paramIndentDesc}.`
                });
            }

            // If declaration args start & end on same line, exit now
            if (emitted.exit || startLine === lastArgLine) {
                return;
            }

            functionDeclarationLineText = sourceCode.getTextOnLine(startLine);

            currentIndent = functionDeclarationLineText.slice(
                0,
                functionDeclarationLineText.indexOf(functionDeclarationLineText.trim())
            );

            currentIndentLevel = (currentIndent.match(BASE_INDENTATION_STYLE_REGEXP_GLOBAL) || []).length;

            //ensure that there is only whitespace of correct level on the line containing parameter
            if (getIndentString(BASE_INDENTATION_STYLE, currentIndentLevel) !== currentIndent) {
                return;	//exit now, we can' proceed further unless this is fixed
            }

            const paramIndent = getIndentString(BASE_INDENTATION_STYLE, currentIndentLevel + 1);
            const paramIndentDesc = getIndentDescription(BASE_INDENTATION_STYLE, currentIndentLevel + 1);

            params.forEach(inspectParam.bind(null, paramIndent, paramIndentDesc));
        }
function inspectFunctionDeclaration(emitted) {
            let node = emitted.node, params = node.params || [];

            let startLine = sourceCode.getLine(node),
                lastArgLine = params.length ? sourceCode.getEndingLine(params.slice(-1) [0]) : startLine,
                functionDeclarationLineText, currentIndent, currentIndentLevel;

            function inspectParam(paramIndent, paramIndentDesc, param) {
                let indentRegExp = new RegExp("^" + paramIndent + "[^\\s(\/\*)]"),
                    paramLineText = sourceCode.getTextOnLine(sourceCode.getLine(param));

                //parameter declaration must be preceded by only correct level of indentation & no comments
                !indentRegExp.test(paramLineText) && context.report({
                    node: param,
                    message: `Only use indent of ${paramIndentDesc}.`
                });
            }

            // If declaration args start & end on same line, exit now
            if (emitted.exit || startLine === lastArgLine) {
                return;
            }

            functionDeclarationLineText = sourceCode.getTextOnLine(startLine);

            currentIndent = functionDeclarationLineText.slice(
                0,
                functionDeclarationLineText.indexOf(functionDeclarationLineText.trim())
            );

            currentIndentLevel = (currentIndent.match(BASE_INDENTATION_STYLE_REGEXP_GLOBAL) || []).length;

            //ensure that there is only whitespace of correct level on the line containing parameter
            if (getIndentString(BASE_INDENTATION_STYLE, currentIndentLevel) !== currentIndent) {
                return;	//exit now, we can' proceed further unless this is fixed
            }

            const paramIndent = getIndentString(BASE_INDENTATION_STYLE, currentIndentLevel + 1);
            const paramIndentDesc = getIndentDescription(BASE_INDENTATION_STYLE, currentIndentLevel + 1);

            params.forEach(inspectParam.bind(null, paramIndent, paramIndentDesc));
        }
function params (if on multiple lines)