code: function isUnnecessarySemicolon(lastToken) {
  				var isDivider, isOptOutToken, lastTokenLine, nextToken, nextTokenLine;
  
  				if (!isSemicolon(lastToken)) {
  					return false;
  				}
  
  				nextToken = sourceCode.getTokenAfter(lastToken);
  
  				if (!nextToken) {
  					return true;
  				}
  
  				lastTokenLine = lastToken.loc.end.line;
  				nextTokenLine = nextToken.loc.start.line;
  				isOptOutToken = OPT_OUT_PATTERN.test(nextToken.value);
  				isDivider = nextToken.value === "}" || nextToken.value === ";";
  
  				return (lastTokenLine !== nextTokenLine && !isOptOutToken) || isDivider;
  			}
docs: Check if a semicolon is unnecessary, only true if:
  - next token is on a new line and is not one of the opt-out tokens
  - next token is a valid statement divider
  @param {Token} lastToken last token of current node.
  @returns {boolean} whether the semicolon is unnecessary.