--- /dev/null
+struct j k l end;
+method w()
+ return this.k;
+end;
+
+method x()
+ return l;
+end;
+
+method y()
+ return (this-8).k;
+end;
--- /dev/null
+long w(long);
+long x(long);
+long y(long);
+
+long t[3] = {5,6,7};
+RET(w((long)t)==6 && x((long)t)==7 && y((long)t)==5);
--- /dev/null
+method w()
+ return not this;
+end;
+
+method x()
+ return not (not this);
+end;
+
+method y()
+ return not (not (not this));
+end;
--- /dev/null
+long w(long);
+long x(long);
+long y(long);
+
+RET(w(0)==1 && x(0)==0 && y(1)==0);