call.ncd 509 B

123456789101112131415161718192021222324252627
  1. process main {
  2. var("bad_x") x;
  3. var("good_x") y;
  4. call("helper_func", {}) helper;
  5. call_with_caller_target("func1", {}, "helper") c;
  6. val_equal(c.x, "good_x") a;
  7. assert(a);
  8. var("foo") foo;
  9. Block {
  10. concat(foo, _scope.foo, _caller.bar, _arg0) x;
  11. } block;
  12. var("bar") bar;
  13. block->call("arg") c;
  14. val_equal(c.x, "foofoobararg") a;
  15. assert(a);
  16. exit("0");
  17. }
  18. template helper_func {
  19. var(_caller.y) x;
  20. }
  21. template func1 {
  22. var(_caller.x) x;
  23. }