proc.js 900 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. };
  12. var m = function (){
  13. function p1(arg1/*INTEGER*/){
  14. var T1 = RTL$.extend({
  15. init: function T1(){
  16. this.field1 = 0;
  17. }
  18. });
  19. var T2 = T1.extend({
  20. init: function T2(){
  21. T1.prototype.init.bind(this)();
  22. this.field2 = false;
  23. }
  24. });
  25. var i = 0;var j = 0;
  26. var b = false;
  27. var t1 = new T1();
  28. var t2 = new T2();
  29. i = arg1 + 1;
  30. t1.field1 = i;
  31. t2.field1 = t1.field1;
  32. b = true;
  33. t2.field2 = b;
  34. }
  35. function p2(){
  36. p1(123);
  37. }
  38. function p3(i/*INTEGER*/){
  39. p1(123);
  40. p2();
  41. p2();
  42. return 123;
  43. }
  44. function p4(){
  45. return p3(123) + p3(p3(123));
  46. }
  47. function p5(){
  48. return p5;
  49. }
  50. }();