code: function getLastToken(node) {
              const lastToken = sourceCode.getLastToken(node);
  
              if (lastToken.type === "Punctuator" && lastToken.value === ";") {
                  const prevToken = sourceCode.getTokenBefore(lastToken);
  
                  if (prevToken.loc.end.line !== lastToken.loc.start.line) {
                      return prevToken;
                  }
              }
  
              return lastToken;
          }
docs: -------------------------------------------------------------------------- Helpers -------------------------------------------------------------------------- 
  Gets a token from the given node to compare line to the next statement.
  
  In general, the token is the last token of the node. However, the token is the second last token if the following conditions satisfy.
  
  - The last token is semicolon.
  - The semicolon is on a different line from the previous token of the semicolon.
  
  This behavior would address semicolon-less style code. e.g.:
  
  var foo = 1
  
  ;(a || b).doSomething()
  
  @param {ASTNode} node - The node to get.
  @returns {Token} The token to compare line to the next statement.