view truffle/com.oracle.truffle.sl.test/src/tests/Object.sl @ 22201:df6a1647cfb3

Move .sl testcases/outputs (resources) into projects src directory
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Tue, 29 Sep 2015 15:01:34 +0200
parents truffle/com.oracle.truffle.sl.test/tests/Object.sl@9c8c0937da41
children
line wrap: on
line source

function main() {  
  obj1 = new();
  println(obj1.x);
  obj1.x = 42;
  println(obj1.x);
  
  obj2 = new();
  obj2.o = obj1;
  println(obj2.o.x);
  obj2.o.y = "why";
  println(obj1.y);
  
  println(mkobj().z);
  
  obj3 = new();
  obj3.fn = mkobj;
  println(obj3.fn().z);

  obj4 = new();
  write(obj4, 1);
  read(obj4);
  write(obj4, 2);
  read(obj4);
  write(obj4, "three");
  read(obj4);
}

function mkobj() {
  newobj = new();
  newobj.z = "zzz";
  return newobj;
}

function read(obj) {
  return obj.prop;
}

function write(obj, value) {
  return obj.prop = value;
}