code: function checkReference(reference, index, references) {
  			var 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(
  						identifier,
  						ProblemMessages.noParamReassign,
  						{
  							name: identifier.name
  						});
  				} else if (props && isModifyingProp(reference)) {
  					context.report(
  						identifier,
  						ProblemMessages.noParamPropertyReassign,
  						{
  							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}