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 + -
显示快捷键?