0N/A/*
553N/A * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
0N/A * published by the Free Software Foundation.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
553N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
553N/A * or visit www.oracle.com if you need additional information or have any
553N/A * questions.
0N/A */
0N/A
0N/A/*
0N/A * @test
0N/A * @bug 4102566
0N/A * @summary Test access methods for assignment targets.
0N/A * @author William Maddox (maddox)
0N/A *
0N/A * @compile AccessMethodsLHS.java
0N/A * @run main AccessMethodsLHS
0N/A */
0N/A
0N/Apublic class AccessMethodsLHS {
0N/A
0N/A static void fail(String msg) throws Exception {
0N/A throw new Exception("FAIL: " + msg);
0N/A }
0N/A
0N/A static int arg = 123456;
0N/A
0N/A private int i;
0N/A private double d;
0N/A
0N/A private void m(int x) throws Exception {
0N/A System.out.println("called AccessMethodsLHS.m");
0N/A if (x != 123456)
0N/A AccessMethodsLHS.fail("bad argument");
0N/A }
0N/A
0N/A public static class Bar {
0N/A private int i;
0N/A private double d;
0N/A private String s;
0N/A
0N/A private void m(int x) throws Exception {
0N/A System.out.println("called AccessMethodsLHS.Bar.m");
0N/A if (x != 123456)
0N/A AccessMethodsLHS.fail("bad argument");
0N/A }
0N/A
0N/A // Static members are permitted in a static inner class.
0N/A
0N/A static private int si;
0N/A static private double sd;
0N/A static private String ss;
0N/A
0N/A static private void sm(int x) throws Exception {
0N/A System.out.println("called AccessMethodsLHS.Bar.sm");
0N/A if (x != 123456)
0N/A AccessMethodsLHS.fail("bad argument");
0N/A }
0N/A }
0N/A
0N/A public static class Baz {
0N/A private int i;
0N/A private double d;
0N/A private String s;
0N/A
0N/A private void m(int x) throws Exception {
0N/A System.out.println("called Baz.m");
0N/A if (x != 123456)
0N/A AccessMethodsLHS.fail("bad argument");
0N/A }
0N/A
0N/A // Compiler rejects static members here correctly.
0N/A
0N/A // static private int si;
0N/A // static private double sd;
0N/A // static private String ss;
0N/A }
0N/A
0N/A public class Quux {
0N/A void DoIt () throws Exception {
0N/A m(arg);
0N/A i = 1;
0N/A d = 1.0;
0N/A i += 5;
0N/A i--;
0N/A }
0N/A void DoMore(AccessMethodsLHS f) throws Exception {
0N/A f.m(arg);
0N/A }
0N/A }
0N/A
0N/A public static class Quem {
0N/A void DoIt () {
0N/A // Illegal static refs to non-static vars
0N/A // i = 1;
0N/A // d = 1.0;
0N/A // i += 5;
0N/A // i--;
0N/A }
0N/A }
0N/A
0N/A static int effects = 0;
0N/A
0N/A static Bar iBar(Bar x) { effects++; return x; }
0N/A
0N/A static Baz iBaz(Baz x) { effects++; return x; }
0N/A
0N/A static void checkEffects(int i) throws Exception {
0N/A if (effects != 1) {
0N/A AccessMethodsLHS.fail("incorrect side-effect behavior (" + effects + "): " + i);
0N/A }
0N/A effects = 0;
0N/A }
0N/A
0N/A static public void main(String args[]) throws Exception {
0N/A
0N/A Bar b = new Bar();
0N/A Baz c = new Baz();
0N/A
0N/A System.out.println("testing assignment");
0N/A
0N/A AccessMethodsLHS f = new AccessMethodsLHS();
0N/A
0N/A Quux q1 = f.new Quux();
0N/A q1.DoIt();
0N/A q1.DoMore(f);
0N/A
0N/A Quem q2 = new Quem();
0N/A q2.DoIt();
0N/A
0N/A // *** Static class, Non-static members ***
0N/A
0N/A b.m(arg);
0N/A
0N/A // Integer (1 word)
0N/A
0N/A b.i = 5;
0N/A System.out.println(b.i);
0N/A if (b.i != 5)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(b.i);
0N/A
0N/A
0N/A if ((b.i += 10) != 15)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A System.out.println(b.i);
0N/A
0N/A if (b.i != 15)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(b.i);
0N/A
0N/A b.s = "foo";
0N/A if (!(b.s += "bar").equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign result");
0N/A System.out.println(b.s);
0N/A
0N/A if (!b.s.equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign effect");
0N/A System.out.println(b.s);
0N/A
0N/A b.s = "foo";
0N/A b.s += "bar";
0N/A if (!b.s.equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign effect (novalue)");
0N/A System.out.println(b.s);
0N/A
0N/A b.i = 0;
0N/A b.i++;
0N/A if (b.i != 1)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(b.i);
0N/A
0N/A b.i = 5;
0N/A if (b.i++ != 5)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A if (b.i != 6)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(b.i);
0N/A
0N/A b.i = 1;
0N/A --b.i;
0N/A if (b.i != 0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A b.i = 5;
0N/A if (--b.i != 4)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A if (b.i != 4)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(b.i);
0N/A
0N/A // Double (2 word)
0N/A
0N/A b.d = 5.0;
0N/A System.out.println(b.d);
0N/A if (b.d != 5.0)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(b.d);
0N/A
0N/A if ((b.d += 10) != 15.0)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A System.out.println(b.d);
0N/A
0N/A if (b.d != 15.0)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(b.d);
0N/A
0N/A b.d = 0.0;
0N/A b.d++;
0N/A if (b.d != 1.0)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(b.d);
0N/A
0N/A b.d = 5.0;
0N/A if (b.d++ != 5.0)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A if (b.d != 6.0)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(b.d);
0N/A
0N/A b.d = 1.0;
0N/A --b.d;
0N/A if (b.d != 0.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A b.d = 5.0;
0N/A if (--b.d != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A if (b.d != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(b.d);
0N/A
0N/A // Integer (1 word) with side-effects in object reference
0N/A
0N/A iBar(b).i = 5;
0N/A checkEffects(1);
0N/A System.out.println(b.i);
0N/A if (b.i != 5)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A
0N/A System.out.println(b.i);
0N/A
0N/A if ((iBar(b).i += 10) != 15)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A checkEffects(2);
0N/A System.out.println(b.i);
0N/A
0N/A if (b.i != 15)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(b.i);
0N/A
0N/A b.i = 0;
0N/A iBar(b).i++;
0N/A checkEffects(3);
0N/A if (b.i != 1)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(b.i);
0N/A
0N/A b.i = 5;
0N/A if (iBar(b).i++ != 5)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A checkEffects(4);
0N/A if (b.i != 6)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(b.i);
0N/A
0N/A b.i = 1;
0N/A --iBar(b).i;
0N/A checkEffects(5);
0N/A if (b.i != 0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A b.i = 5;
0N/A if (--iBar(b).i != 4)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A checkEffects(6);
0N/A if (b.i != 4)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(b.i);
0N/A
0N/A
0N/A // *** Static class, Static members ***
0N/A
0N/A Bar.sm(arg);
0N/A
0N/A // Integer (1 word)
0N/A
0N/A Bar.si = 5;
0N/A System.out.println(Bar.si);
0N/A if (Bar.si != 5)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(Bar.si);
0N/A
0N/A if ((Bar.si += 10) != 15)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A System.out.println(Bar.si);
0N/A
0N/A if (Bar.si != 15)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(Bar.si);
0N/A
0N/A Bar.ss = "foo";
0N/A if (!(Bar.ss += "bar").equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign result");
0N/A System.out.println(Bar.ss);
0N/A
0N/A if (!Bar.ss.equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign effect");
0N/A System.out.println(Bar.ss);
0N/A
0N/A Bar.ss = "foo";
0N/A Bar.ss += "bar";
0N/A if (!Bar.ss.equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign effect (novalue)");
0N/A System.out.println(Bar.ss);
0N/A
0N/A Bar.si = 0;
0N/A Bar.si++;
0N/A if (Bar.si != 1)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(Bar.si);
0N/A
0N/A Bar.si = 5;
0N/A if (Bar.si++ != 5)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A if (Bar.si != 6)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(Bar.si);
0N/A
0N/A Bar.si = 1;
0N/A --Bar.si;
0N/A if (Bar.si != 0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A Bar.si = 5;
0N/A if (--Bar.si != 4)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A if (Bar.si != 4)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(Bar.si);
0N/A
0N/A // Double (2 word)
0N/A
0N/A Bar.sd = 5.0;
0N/A System.out.println(Bar.sd);
0N/A if (Bar.sd != 5.0)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(Bar.sd);
0N/A
0N/A if ((Bar.sd += 10) != 15.0)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A System.out.println(Bar.sd);
0N/A
0N/A if (Bar.sd != 15.0)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(Bar.sd);
0N/A
0N/A Bar.sd = 0.0;
0N/A Bar.sd++;
0N/A if (Bar.sd != 1.0)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(Bar.sd);
0N/A
0N/A Bar.sd = 5.0;
0N/A if (Bar.sd++ != 5.0)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A if (Bar.sd != 6.0)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(Bar.sd);
0N/A
0N/A Bar.sd = 1.0;
0N/A --Bar.sd;
0N/A if (Bar.sd != 0.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A Bar.sd = 5.0;
0N/A if (--Bar.sd != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A if (Bar.sd != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(Bar.sd);
0N/A
0N/A
0N/A // *** Static class, Static members (invoked via object reference) ***
0N/A
0N/A b.sm(arg);
0N/A
0N/A iBar(b).sm(arg);
0N/A checkEffects(101);
0N/A
0N/A // Integer (1 word)
0N/A
0N/A b.si = 5;
0N/A System.out.println(b.si);
0N/A if (b.si != 5)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(b.si);
0N/A
0N/A if ((b.si += 10) != 15)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A System.out.println(b.si);
0N/A
0N/A if (b.si != 15)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(b.si);
0N/A
0N/A b.ss = "foo";
0N/A if (!(b.ss += "bar").equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign result");
0N/A System.out.println(b.ss);
0N/A
0N/A if (!b.ss.equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign effect");
0N/A System.out.println(b.ss);
0N/A
0N/A b.ss = "foo";
0N/A b.ss += "bar";
0N/A if (!b.ss.equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign effect (novalue)");
0N/A System.out.println(b.ss);
0N/A
0N/A b.si = 0;
0N/A b.si++;
0N/A if (b.si != 1)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(b.si);
0N/A
0N/A b.si = 5;
0N/A if (b.si++ != 5)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A if (b.si != 6)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(b.si);
0N/A
0N/A b.si = 1;
0N/A --b.si;
0N/A if (b.si != 0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A b.si = 5;
0N/A if (--b.si != 4)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A if (b.si != 4)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(b.si);
0N/A
0N/A // Double (2 word)
0N/A
0N/A b.sd = 5.0;
0N/A System.out.println(b.sd);
0N/A if (b.sd != 5.0)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(b.sd);
0N/A
0N/A if ((b.sd += 10) != 15.0)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A System.out.println(b.sd);
0N/A
0N/A if (b.sd != 15.0)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(b.sd);
0N/A
0N/A b.sd = 0.0;
0N/A b.sd++;
0N/A if (b.sd != 1.0)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(b.sd);
0N/A
0N/A b.sd = 5.0;
0N/A if (b.sd++ != 5.0)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A if (b.sd != 6.0)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(b.sd);
0N/A
0N/A b.sd = 1.0;
0N/A --b.sd;
0N/A if (b.sd != 0.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A b.sd = 5.0;
0N/A if (--b.sd != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A if (b.sd != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(b.sd);
0N/A
0N/A // Integer (1 word) with side-effects in object reference
0N/A
0N/A iBar(b).si = 5;
0N/A checkEffects(7);
0N/A System.out.println(b.si);
0N/A if (b.si != 5)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(b.si);
0N/A
0N/A if ((iBar(b).si += 10) != 15)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A checkEffects(8);
0N/A System.out.println(b.si);
0N/A
0N/A if (b.si != 15)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(b.si);
0N/A
0N/A iBar(b).si = 0;
0N/A checkEffects(9);
0N/A iBar(b).si++;
0N/A checkEffects(10);
0N/A if (b.si != 1)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(b.si);
0N/A
0N/A b.si = 5;
0N/A if (iBar(b).si++ != 5)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A checkEffects(11);
0N/A if (b.si != 6)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(b.si);
0N/A
0N/A b.si = 1;
0N/A --iBar(b).si;
0N/A checkEffects(12);
0N/A if (b.si != 0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A b.si = 5;
0N/A if (--iBar(b).si != 4)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A checkEffects(13);
0N/A if (b.si != 4)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(b.si);
0N/A
0N/A
0N/A // *** Non-static class, Non-static members ***
0N/A
0N/A c.m(arg);
0N/A
0N/A iBaz(c).m(arg);
0N/A checkEffects(102);
0N/A
0N/A // Integer (1 word)
0N/A
0N/A c.i = 5;
0N/A System.out.println(c.i);
0N/A if (c.i != 5)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(c.i);
0N/A
0N/A if ((c.i += 10) != 15)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A System.out.println(c.i);
0N/A
0N/A if (c.i != 15)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(c.i);
0N/A
0N/A c.s = "foo";
0N/A if (!(c.s += "bar").equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign result");
0N/A System.out.println(c.s);
0N/A
0N/A if (!c.s.equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign effect");
0N/A System.out.println(c.s);
0N/A
0N/A c.s = "foo";
0N/A c.s += "bar";
0N/A if (!c.s.equals("foobar"))
0N/A AccessMethodsLHS.fail("concat-assign effect (novalue)");
0N/A System.out.println(c.s);
0N/A
0N/A c.i = 0;
0N/A c.i++;
0N/A if (c.i != 1)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(c.i);
0N/A
0N/A c.i = 5;
0N/A if (c.i++ != 5)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A if (c.i != 6)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(c.i);
0N/A
0N/A c.i = 1;
0N/A --c.i;
0N/A if (c.i != 0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A c.i = 5;
0N/A if (--c.i != 4)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A if (c.i != 4)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(c.i);
0N/A
0N/A // Double (2 word)
0N/A
0N/A c.d = 5.0;
0N/A System.out.println(c.d);
0N/A if (c.d != 5.0)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(c.d);
0N/A
0N/A if ((c.d += 10) != 15.0)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A System.out.println(c.d);
0N/A
0N/A if (c.d != 15.0)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(c.d);
0N/A
0N/A c.d = 0.0;
0N/A c.d++;
0N/A if (c.d != 1.0)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(c.d);
0N/A
0N/A c.d = 5.0;
0N/A if (c.d++ != 5.0)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A if (c.d != 6.0)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(c.d);
0N/A
0N/A c.d = 1.0;
0N/A --c.d;
0N/A if (c.d != 0.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A c.d = 5.0;
0N/A if (--c.d != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A if (c.d != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(c.d);
0N/A
0N/A // Double (2 word) with side-effects in object reference
0N/A
0N/A iBaz(c).d = 5.0;
0N/A checkEffects(14);
0N/A System.out.println(c.d);
0N/A if (c.d != 5.0)
0N/A AccessMethodsLHS.fail("simple assignment");
0N/A System.out.println(c.d);
0N/A
0N/A if ((iBaz(c).d += 10) != 15.0)
0N/A AccessMethodsLHS.fail("add-assign result");
0N/A checkEffects(15);
0N/A System.out.println(c.d);
0N/A
0N/A if (c.d != 15.0)
0N/A AccessMethodsLHS.fail("add-assign effect");
0N/A System.out.println(c.d);
0N/A
0N/A c.d = 0.0;
0N/A iBaz(c).d++;
0N/A checkEffects(16);
0N/A if (c.d != 1.0)
0N/A AccessMethodsLHS.fail("post-increment effect");
0N/A System.out.println(c.d);
0N/A
0N/A c.d = 5.0;
0N/A if (iBaz(c).d++ != 5.0)
0N/A AccessMethodsLHS.fail("post-increment result");
0N/A checkEffects(17);
0N/A if (c.d != 6.0)
0N/A AccessMethodsLHS.fail("post-increment effect (embedded)");
0N/A System.out.println(c.d);
0N/A
0N/A c.d = 1.0;
0N/A --iBaz(c).d;
0N/A checkEffects(18);
0N/A if (c.d != 0.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect");
0N/A
0N/A c.d = 5.0;
0N/A if (--iBaz(c).d != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement result");
0N/A checkEffects(19);
0N/A if (c.d != 4.0)
0N/A AccessMethodsLHS.fail("pre-decrement effect (embedded)");
0N/A System.out.println(c.d);
0N/A
0N/A // All done.
0N/A
0N/A System.out.println("done");
0N/A }
0N/A}