blob: c232849bbf8d578b0b843b8d4d16a786d33f0b35 [file] [log] [blame]
import org.checkerframework.checker.lock.qual.GuardedBy;
public class SimpleLockTest {
final Object lock1 = new Object(), lock2 = new Object();
void testMethodCall(@GuardedBy("lock1") SimpleLockTest this) {
// :: error: (lock.not.held)
synchronized (lock1) {
}
// :: error: (lock.not.held)
synchronized (this.lock1) {
}
// :: error: (lock.not.held)
synchronized (lock2) {
}
// :: error: (lock.not.held)
synchronized (this.lock2) {
}
final @GuardedBy("myClass.field") MyClass myClass = new MyClass();
// :: error: (lock.not.held)
synchronized (myClass.field) {
}
synchronized (myClass) {
}
}
class MyClass {
final Object field = new Object();
}
}