import valuebased.classes.AbstractValueBased;
class AC extends AbstractValueBased {
final AC ac = new AC();
final Object objectAc = new AC();
{
final AC localAc = new AC();
synchronized (ac) {}
synchronized (objectAc) {}
synchronized (localAc) {}
synchronized (AC.class) {}
synchronized (new Object()) {}
f(ac);
g(ac);
}
void f(AC ac) {
synchronized (ac) {}
}
void g(Object ac) {
synchronized (ac) {}
}
@SuppressWarnings("synchronization")
void h(AC ac) {
synchronized (ac) {}
}
}