alias.ncd 792 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. process foo {
  2. var("hello") x;
  3. alias("x") y;
  4. val_equal(y, "hello") a;
  5. assert(a);
  6. var("hello") x;
  7. alias("x") y;
  8. y->set("world");
  9. val_equal(y, "world") a;
  10. assert(a);
  11. var("hello") x;
  12. alias("x") y;
  13. alias("y") z;
  14. z->set("world");
  15. val_equal(x, "world") a;
  16. assert(a);
  17. call("test", {"hello"}) c;
  18. alias("c.x") x;
  19. val_equal(x, "hello") a;
  20. assert(a);
  21. call("test", {"hello"}) c;
  22. alias("c") x;
  23. alias("x") y;
  24. alias("y.x") z;
  25. c.x->set("world");
  26. val_equal(z, "world") a;
  27. assert(a);
  28. var("hello") x;
  29. call("test2", {"_caller.x"}) c;
  30. c.x->set("world");
  31. val_equal(x, "world") a;
  32. assert(a);
  33. exit("0");
  34. }
  35. template test {
  36. var(_arg0) x;
  37. }
  38. template test2 {
  39. alias(_arg0) x;
  40. }