| // Test case for Issue 152: |
| // https://github.com/typetools/checker-framework/issues/152 |
| // @skip-test |
| |
| import org.checkerframework.checker.lock.qual.GuardedBy; |
| |
| public class Issue152 { |
| static class SuperClass { |
| protected final Object myLock = new Object(); |
| |
| private @GuardedBy("myLock") Object locked; |
| } |
| |
| static class SubClass extends SuperClass { |
| private final Object myLock = new Object(); |
| |
| private @GuardedBy("myLock") Object locked; |
| |
| void method() { |
| // :: error: (assignment) |
| this.locked = super.locked; |
| } |
| } |
| |
| class OuterClass { |
| private final Object lock = new Object(); |
| |
| @GuardedBy("this.lock") Object field; |
| |
| class InnerClass { |
| private final Object lock = new Object(); |
| // :: error: (assignment) |
| @GuardedBy("this.lock") Object field2 = field; |
| } |
| } |
| } |