designator.js 697 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var RTL$ = {
  2. makeRef: function (obj, prop){
  3. return {set: function(v){ obj[prop] = v; },
  4. get: function(){ return obj[prop]; }};
  5. }
  6. };
  7. var m = function (){
  8. function TP(){
  9. this.i = 0;
  10. this.proc = null;
  11. this.procT = null;
  12. }
  13. function proc(){
  14. }
  15. function makeT(){
  16. var result = null;
  17. result = new TP();
  18. result.proc = proc;
  19. result.procT = makeT;
  20. return result;
  21. }
  22. function makeProc(){
  23. return proc;
  24. }
  25. function int(i/*INTEGER*/){
  26. }
  27. function intVar(i/*VAR INTEGER*/){
  28. }
  29. int(makeT().i);
  30. intVar(RTL$.makeRef(makeT(), "i"));
  31. intVar(RTL$.makeRef(makeT().procT(), "i"));
  32. makeT().proc();
  33. makeT().proc();
  34. makeT().procT().proc();
  35. makeT().procT().proc();
  36. makeProc()();
  37. }();