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({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}});}}}
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}