How does Sonarqube locate the same issue in multiple scans?

For example, I found that after multiple scans, even if the line number of the code changes, Sonarqube can always locate the same issue.

I saw relevant content on the documentation, at https://docs.sonarqube.org/latest/user-guide/issues/

I am curious how it works and where in the source code can you tell me?