accessmethodslhs.java
来自「是一款用JAVA 编写的编译器 具有很强的编译功能」· Java 代码 · 共 707 行 · 第 1/2 页
JAVA
707 行
// Double (2 word) Bar.sd = 5.0; System.out.println(Bar.sd); if (Bar.sd != 5.0) AccessMethodsLHS.fail("simple assignment"); System.out.println(Bar.sd); if ((Bar.sd += 10) != 15.0) AccessMethodsLHS.fail("add-assign result"); System.out.println(Bar.sd); if (Bar.sd != 15.0) AccessMethodsLHS.fail("add-assign effect"); System.out.println(Bar.sd); Bar.sd = 0.0; Bar.sd++; if (Bar.sd != 1.0) AccessMethodsLHS.fail("post-increment effect"); System.out.println(Bar.sd); Bar.sd = 5.0; if (Bar.sd++ != 5.0) AccessMethodsLHS.fail("post-increment result"); if (Bar.sd != 6.0) AccessMethodsLHS.fail("post-increment effect (embedded)"); System.out.println(Bar.sd); Bar.sd = 1.0; --Bar.sd; if (Bar.sd != 0.0) AccessMethodsLHS.fail("pre-decrement effect"); Bar.sd = 5.0; if (--Bar.sd != 4.0) AccessMethodsLHS.fail("pre-decrement result"); if (Bar.sd != 4.0) AccessMethodsLHS.fail("pre-decrement effect (embedded)"); System.out.println(Bar.sd); // *** Static class, Static members (invoked via object reference) *** b.sm(arg); iBar(b).sm(arg); checkEffects(101); // Integer (1 word) b.si = 5; System.out.println(b.si); if (b.si != 5) AccessMethodsLHS.fail("simple assignment"); System.out.println(b.si); if ((b.si += 10) != 15) AccessMethodsLHS.fail("add-assign result"); System.out.println(b.si); if (b.si != 15) AccessMethodsLHS.fail("add-assign effect"); System.out.println(b.si); b.ss = "foo"; if (!(b.ss += "bar").equals("foobar")) AccessMethodsLHS.fail("concat-assign result"); System.out.println(b.ss); if (!b.ss.equals("foobar")) AccessMethodsLHS.fail("concat-assign effect"); System.out.println(b.ss); b.ss = "foo"; b.ss += "bar"; if (!b.ss.equals("foobar")) AccessMethodsLHS.fail("concat-assign effect (novalue)"); System.out.println(b.ss); b.si = 0; b.si++; if (b.si != 1) AccessMethodsLHS.fail("post-increment effect"); System.out.println(b.si); b.si = 5; if (b.si++ != 5) AccessMethodsLHS.fail("post-increment result"); if (b.si != 6) AccessMethodsLHS.fail("post-increment effect (embedded)"); System.out.println(b.si); b.si = 1; --b.si; if (b.si != 0) AccessMethodsLHS.fail("pre-decrement effect"); b.si = 5; if (--b.si != 4) AccessMethodsLHS.fail("pre-decrement result"); if (b.si != 4) AccessMethodsLHS.fail("pre-decrement effect (embedded)"); System.out.println(b.si); // Double (2 word) b.sd = 5.0; System.out.println(b.sd); if (b.sd != 5.0) AccessMethodsLHS.fail("simple assignment"); System.out.println(b.sd); if ((b.sd += 10) != 15.0) AccessMethodsLHS.fail("add-assign result"); System.out.println(b.sd); if (b.sd != 15.0) AccessMethodsLHS.fail("add-assign effect"); System.out.println(b.sd); b.sd = 0.0; b.sd++; if (b.sd != 1.0) AccessMethodsLHS.fail("post-increment effect"); System.out.println(b.sd); b.sd = 5.0; if (b.sd++ != 5.0) AccessMethodsLHS.fail("post-increment result"); if (b.sd != 6.0) AccessMethodsLHS.fail("post-increment effect (embedded)"); System.out.println(b.sd); b.sd = 1.0; --b.sd; if (b.sd != 0.0) AccessMethodsLHS.fail("pre-decrement effect"); b.sd = 5.0; if (--b.sd != 4.0) AccessMethodsLHS.fail("pre-decrement result"); if (b.sd != 4.0) AccessMethodsLHS.fail("pre-decrement effect (embedded)"); System.out.println(b.sd); // Integer (1 word) with side-effects in object reference iBar(b).si = 5; checkEffects(7); System.out.println(b.si); if (b.si != 5) AccessMethodsLHS.fail("simple assignment"); System.out.println(b.si); if ((iBar(b).si += 10) != 15) AccessMethodsLHS.fail("add-assign result"); checkEffects(8); System.out.println(b.si); if (b.si != 15) AccessMethodsLHS.fail("add-assign effect"); System.out.println(b.si); iBar(b).si = 0; checkEffects(9); iBar(b).si++; checkEffects(10); if (b.si != 1) AccessMethodsLHS.fail("post-increment effect"); System.out.println(b.si); b.si = 5; if (iBar(b).si++ != 5) AccessMethodsLHS.fail("post-increment result"); checkEffects(11); if (b.si != 6) AccessMethodsLHS.fail("post-increment effect (embedded)"); System.out.println(b.si); b.si = 1; --iBar(b).si; checkEffects(12); if (b.si != 0) AccessMethodsLHS.fail("pre-decrement effect"); b.si = 5; if (--iBar(b).si != 4) AccessMethodsLHS.fail("pre-decrement result"); checkEffects(13); if (b.si != 4) AccessMethodsLHS.fail("pre-decrement effect (embedded)"); System.out.println(b.si); // *** Non-static class, Non-static members *** c.m(arg); iBaz(c).m(arg); checkEffects(102); // Integer (1 word) c.i = 5; System.out.println(c.i); if (c.i != 5) AccessMethodsLHS.fail("simple assignment"); System.out.println(c.i); if ((c.i += 10) != 15) AccessMethodsLHS.fail("add-assign result"); System.out.println(c.i); if (c.i != 15) AccessMethodsLHS.fail("add-assign effect"); System.out.println(c.i); c.s = "foo"; if (!(c.s += "bar").equals("foobar")) AccessMethodsLHS.fail("concat-assign result"); System.out.println(c.s); if (!c.s.equals("foobar")) AccessMethodsLHS.fail("concat-assign effect"); System.out.println(c.s); c.s = "foo"; c.s += "bar"; if (!c.s.equals("foobar")) AccessMethodsLHS.fail("concat-assign effect (novalue)"); System.out.println(c.s); c.i = 0; c.i++; if (c.i != 1) AccessMethodsLHS.fail("post-increment effect"); System.out.println(c.i); c.i = 5; if (c.i++ != 5) AccessMethodsLHS.fail("post-increment result"); if (c.i != 6) AccessMethodsLHS.fail("post-increment effect (embedded)"); System.out.println(c.i); c.i = 1; --c.i; if (c.i != 0) AccessMethodsLHS.fail("pre-decrement effect"); c.i = 5; if (--c.i != 4) AccessMethodsLHS.fail("pre-decrement result"); if (c.i != 4) AccessMethodsLHS.fail("pre-decrement effect (embedded)"); System.out.println(c.i); // Double (2 word) c.d = 5.0; System.out.println(c.d); if (c.d != 5.0) AccessMethodsLHS.fail("simple assignment"); System.out.println(c.d); if ((c.d += 10) != 15.0) AccessMethodsLHS.fail("add-assign result"); System.out.println(c.d); if (c.d != 15.0) AccessMethodsLHS.fail("add-assign effect"); System.out.println(c.d); c.d = 0.0; c.d++; if (c.d != 1.0) AccessMethodsLHS.fail("post-increment effect"); System.out.println(c.d); c.d = 5.0; if (c.d++ != 5.0) AccessMethodsLHS.fail("post-increment result"); if (c.d != 6.0) AccessMethodsLHS.fail("post-increment effect (embedded)"); System.out.println(c.d); c.d = 1.0; --c.d; if (c.d != 0.0) AccessMethodsLHS.fail("pre-decrement effect"); c.d = 5.0; if (--c.d != 4.0) AccessMethodsLHS.fail("pre-decrement result"); if (c.d != 4.0) AccessMethodsLHS.fail("pre-decrement effect (embedded)"); System.out.println(c.d); // Double (2 word) with side-effects in object reference iBaz(c).d = 5.0; checkEffects(14); System.out.println(c.d); if (c.d != 5.0) AccessMethodsLHS.fail("simple assignment"); System.out.println(c.d); if ((iBaz(c).d += 10) != 15.0) AccessMethodsLHS.fail("add-assign result"); checkEffects(15); System.out.println(c.d); if (c.d != 15.0) AccessMethodsLHS.fail("add-assign effect"); System.out.println(c.d); c.d = 0.0; iBaz(c).d++; checkEffects(16); if (c.d != 1.0) AccessMethodsLHS.fail("post-increment effect"); System.out.println(c.d); c.d = 5.0; if (iBaz(c).d++ != 5.0) AccessMethodsLHS.fail("post-increment result"); checkEffects(17); if (c.d != 6.0) AccessMethodsLHS.fail("post-increment effect (embedded)"); System.out.println(c.d); c.d = 1.0; --iBaz(c).d; checkEffects(18); if (c.d != 0.0) AccessMethodsLHS.fail("pre-decrement effect"); c.d = 5.0; if (--iBaz(c).d != 4.0) AccessMethodsLHS.fail("pre-decrement result"); checkEffects(19); if (c.d != 4.0) AccessMethodsLHS.fail("pre-decrement effect (embedded)"); System.out.println(c.d); // All done. System.out.println("done"); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?