function report(node, needed, gotten, loc) {
      const msgContext = {
        needed,
        type: indentType,
        characters: needed === 1 ? 'character' : 'characters',
        gotten,
      };

      reportC(context, messages.wrongIndent, 'wrongIndent', Object.assign({
        node,
        data: msgContext,
        fix: getFixerFunction(node, needed),
      }, loc && { loc }));
    }
Reports a given indent violation and properly pluralizes the message
@param {ASTNode} node Node violating the indent rule
@param {number} needed Expected indentation character count
@param {number} gotten Indentation character count in the actual node/code
@param {Object} [loc] Error line and column location