modules.js 1007 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. var RTL$ = {
  2. extend: function extend(methods){
  3. methods.__proto__ = this.prototype; // make instanceof work
  4. // to see constructor name in diagnostic
  5. var result = methods.init;
  6. methods.constructor = result.prototype.constructor;
  7. result.prototype = methods;
  8. result.extend = extend;
  9. return result;
  10. },
  11. makeRef: function (obj, prop){
  12. return {set: function(v){ obj[prop] = v; },
  13. get: function(){ return obj[prop]; }};
  14. }
  15. };
  16. var m1 = function (){
  17. var ci = 123;
  18. var i = 0;
  19. var anonymous$1$base = RTL$.extend({
  20. init: function anonymous$1$base(){
  21. this.i = 0;
  22. }
  23. });
  24. var pr = null;
  25. function p(){
  26. }
  27. pr = new anonymous$1$base();
  28. return {
  29. ci: ci,
  30. i: function(){return i;},
  31. pr: function(){return pr;},
  32. p: p
  33. }
  34. }();
  35. var m2 = function (m1){
  36. function p(i/*INTEGER*/){
  37. }
  38. function ref(i/*VAR INTEGER*/){
  39. }
  40. m1.p();
  41. p(m1.i());
  42. p(m1.ci);
  43. ref(RTL$.makeRef(m1.pr(), "i"));
  44. }(m1);
  45. var m3 = function (m1, m2){
  46. m2.p();
  47. }(m2, m1);