--- jsr166/src/test/tck/AtomicReferenceFieldUpdaterTest.java 2017/03/18 20:42:20 1.35 +++ jsr166/src/test/tck/AtomicReferenceFieldUpdaterTest.java 2017/09/20 00:41:13 1.36 @@ -26,57 +26,6 @@ public class AtomicReferenceFieldUpdater return new TestSuite(AtomicReferenceFieldUpdaterTest.class); } - // for testing subclass access - static class AtomicReferenceFieldUpdaterTestSubclass extends AtomicReferenceFieldUpdaterTest { - public void checkPrivateAccess() { - try { - AtomicReferenceFieldUpdater a = - AtomicReferenceFieldUpdater.newUpdater - (AtomicReferenceFieldUpdaterTest.class, Integer.class, "privateField"); - shouldThrow(); - } catch (RuntimeException success) { - assertNotNull(success.getCause()); - } - } - - public void checkCompareAndSetProtectedSub() { - AtomicReferenceFieldUpdater a = - AtomicReferenceFieldUpdater.newUpdater - (AtomicReferenceFieldUpdaterTest.class, Integer.class, "protectedField"); - this.protectedField = one; - assertTrue(a.compareAndSet(this, one, two)); - assertTrue(a.compareAndSet(this, two, m4)); - assertSame(m4, a.get(this)); - assertFalse(a.compareAndSet(this, m5, seven)); - assertNotSame(seven, a.get(this)); - assertTrue(a.compareAndSet(this, m4, seven)); - assertSame(seven, a.get(this)); - } - } - - static class UnrelatedClass { - public void checkPackageAccess(AtomicReferenceFieldUpdaterTest obj) { - obj.x = one; - AtomicReferenceFieldUpdater a = - AtomicReferenceFieldUpdater.newUpdater - (AtomicReferenceFieldUpdaterTest.class, Integer.class, "x"); - assertSame(one, a.get(obj)); - assertTrue(a.compareAndSet(obj, one, two)); - assertSame(two, a.get(obj)); - } - - public void checkPrivateAccess(AtomicReferenceFieldUpdaterTest obj) { - try { - AtomicReferenceFieldUpdater a = - AtomicReferenceFieldUpdater.newUpdater - (AtomicReferenceFieldUpdaterTest.class, Integer.class, "privateField"); - throw new AssertionError("should throw"); - } catch (RuntimeException success) { - assertNotNull(success.getCause()); - } - } - } - static AtomicReferenceFieldUpdater updaterFor(String fieldName) { return AtomicReferenceFieldUpdater.newUpdater (AtomicReferenceFieldUpdaterTest.class, Integer.class, fieldName); @@ -128,9 +77,8 @@ public class AtomicReferenceFieldUpdater * construction using private field from subclass throws RuntimeException */ public void testPrivateFieldInSubclass() { - AtomicReferenceFieldUpdaterTestSubclass s = - new AtomicReferenceFieldUpdaterTestSubclass(); - s.checkPrivateAccess(); + new NonNestmates.AtomicReferenceFieldUpdaterTestSubclass() + .checkPrivateAccess(); } /** @@ -138,8 +86,8 @@ public class AtomicReferenceFieldUpdater * private access is not */ public void testUnrelatedClassAccess() { - new UnrelatedClass().checkPackageAccess(this); - new UnrelatedClass().checkPrivateAccess(this); + new NonNestmates().checkPackageAccess(this); + new NonNestmates().checkPrivateAccess(this); } /**