Merge pull request #21226 from owen-mc/java/update-qhelp-unrelease-lock

Java: Improve qhelp for `java/unreleased-lock` and add lock type exclusion
This commit is contained in:
Owen Mansel-Chan
2026-01-28 09:46:31 +00:00
committed by GitHub
4 changed files with 29 additions and 4 deletions

View File

@@ -6,12 +6,16 @@ import semmle.code.java.frameworks.Mockito
/**
* A Java type representing a lock.
* We identify a lock type as one that has both `lock` and `unlock` methods.
*
* We exclude types with a name ending in "Pool" as they typically manage a
* collection of resources and the `lock` and `unlock` methods typically only
* lock one resource at a time.
*/
class LockType extends RefType {
LockType() {
this.getAMethod().hasName("lock") and
this.getAMethod().hasName("unlock")
this.getAMethod().hasName("unlock") and
not this.getName().matches("%Pool")
}
/** Gets a method that is locking this lock type. */