// Test case for Issue 804: | |
// https://github.com/typetools/checker-framework/issues/804 | |
import java.util.concurrent.locks.*; | |
import org.checkerframework.checker.lock.qual.*; | |
public class Issue804 extends ReentrantLock { | |
@Holding("this") | |
@MayReleaseLocks | |
void bar() { | |
this.unlock(); | |
} | |
@Holding("this") | |
@MayReleaseLocks | |
void method() { | |
bar(); | |
// :: error: (contracts.precondition) | |
bar(); | |
} | |
} |