mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-08 12:36:52 +07:00
This patch adds the inspection to detect usages of value-based classes' instances as monitors in the synchronize statement. Signed-off-by: Nikita Eshkeev <nikita.eshkeev@jetbrains.com> GitOrigin-RevId: 178533c1415b2a8f11d48db17c19baa7e6ff4d1a
26 lines
783 B
Java
26 lines
783 B
Java
import valuebased.classes.AbstractValueBased;
|
|
|
|
class AC extends AbstractValueBased {
|
|
final AC ac = new AC();
|
|
final Object objectAc = new AC();
|
|
{
|
|
final AC localAc = new AC();
|
|
|
|
synchronized (<warning descr="Attempt to synchronize on an instance of a value-based class">ac</warning>) {}
|
|
synchronized (<warning descr="Attempt to synchronize on an instance of a value-based class">objectAc</warning>) {}
|
|
synchronized (<warning descr="Attempt to synchronize on an instance of a value-based class">localAc</warning>) {}
|
|
synchronized (AC.class) {}
|
|
|
|
f(ac);
|
|
g(ac);
|
|
}
|
|
|
|
void f(AC ac) {
|
|
synchronized (<warning descr="Attempt to synchronize on an instance of a value-based class">ac</warning>) {}
|
|
}
|
|
|
|
void g(Object ac) {
|
|
synchronized (ac) {}
|
|
}
|
|
}
|