code: function checkReference(reference, index, references) {
              const identifier = reference.identifier;
  
              if (identifier &&
                  !reference.init &&
  
                  /*
                   * Destructuring assignments can have multiple default value,
                   * so possibly there are multiple writeable references for the same identifier.
                   */
                  (index === 0 || references[index - 1].identifier !== identifier)
              ) {
                  if (reference.isWrite()) {
                      context.report({ node: identifier, message: "Assignment to function parameter '{{name}}'.", data: { name: identifier.name } });
                  } else if (props && isModifyingProp(reference) && ignoredPropertyAssignmentsFor.indexOf(identifier.name) === -1) {
                      context.report({ node: identifier, message: "Assignment to property of function parameter '{{name}}'.", data: { name: identifier.name } });
                  }
              }
          }
docs: Reports a reference if is non initializer and writable.
  @param {Reference} reference - A reference to check.
  @param {int} index - The index of the reference in the references.
  @param {Reference[]} references - The array that the reference belongs to.
  @returns {void}