Miscellaneous_LoopInterpret.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function test0() {
  6. var loopInvariant = 8;
  7. var func1 = function() {
  8. var __loopvar3 = loopInvariant;
  9. };
  10. var __loopvar0 = loopInvariant;
  11. while(test0.caller) {
  12. var __loopvar3 = 4;
  13. for(var _i in arguments) {
  14. __loopvar3 = loopInvariant;
  15. do {
  16. __loopvar3++;
  17. _test0_nonexistent;
  18. } while(typeof _test0_nonexistent && loopInvariant);
  19. }
  20. }
  21. }
  22. test0();
  23. test0();
  24. function test1() {
  25. var loopInvariant = 2;
  26. var arrObj0 = {};
  27. var IntArr0 = [
  28. -1,
  29. 763598293,
  30. 7527353389438789000
  31. ];
  32. var IntArr1 = [];
  33. var obj1;
  34. (function() {
  35. var __loopvar2 = loopInvariant;
  36. do {
  37. if(IntArr1[__loopvar2] != 1.1) {
  38. IntArr0[__loopvar2];
  39. } else {
  40. obj1 = 1;
  41. arrObj0(IntArr1[__loopvar2]);
  42. }
  43. } while(arrObj0.prop0);
  44. })();
  45. }
  46. test1();
  47. test1();
  48. function test2() {
  49. var FloatArr0 = [];
  50. var g = 1;
  51. var __loopvar2, loopInvariant, a, func0, obj0;
  52. for(var _strvar25 in FloatArr0) {
  53. if(typeof _strvar25 === 'string' && _strvar25.indexOf('method') != -1) {
  54. continue;
  55. }
  56. if(__loopvar0++ > 3) {
  57. break;
  58. }
  59. for(var __loopvar2 = loopInvariant - 3; __loopvar2 < loopInvariant && g < 1; __loopvar2++, g++) {
  60. }
  61. var strvar9 = a.concat(func0.call(obj0, --g, 1));
  62. strvar9 = strvar9.substring(strvar9.length / 1, strvar9.length / 3);
  63. }
  64. }
  65. test2();
  66. test2();
  67. function test3() {
  68. for(var i = 0; i < 2; ++i) {
  69. (1190787012.1 << 2147483648, {}) / test3a.call(2147483648);
  70. }
  71. function test3a() { }
  72. }
  73. test3();
  74. function test4() {
  75. var loopInvariant = 3;
  76. var GiantPrintArray = [];
  77. var obj1 = {};
  78. obj1.prop1 = 1;
  79. var __loopvar0 = loopInvariant;
  80. for(; ;) {
  81. __loopvar0++;
  82. if(__loopvar0 == loopInvariant + 4) {
  83. break;
  84. }
  85. var v6 = 0;
  86. var v7 = obj1.prop1;
  87. while(v6 < 5) {
  88. v7 = obj1.prop1;
  89. v7 -= v6;
  90. v6++;
  91. }
  92. obj1.prop4 = v7;
  93. GiantPrintArray.push();
  94. }
  95. WScript.Echo("test4: " + obj1.prop4);
  96. }
  97. test4();
  98. test4();
  99. test4();
  100. (function test5Runner() {
  101. var n = { iS: function(t) { try { } catch(ex) { } return false; } };
  102. function test5(e, t) {
  103. var r = e.split("#")[0].split("?")[1] || "",
  104. i = r.split("&"),
  105. s, o, u, a, f = n.iS(t),
  106. l = f ? "" : {};
  107. if(!r) return l;
  108. for(u = 0; u < i.length; u++) {
  109. s = i[u], o = s.split("=");
  110. if(!s) continue;
  111. if(!t) l[o[0]] = o[1] || "";
  112. else if(f && o[0] === t) l = o[1];
  113. else
  114. for(a = 0; a < t.length; a++) o[0] === t[a] && (l[o[0]] = o[1] || "")
  115. }
  116. return l
  117. }
  118. test5("http://a.b.c/?a=0&b=1&c=2", ['a', 'b']);
  119. test5("http://a.b.c/?a=0&b=1&c=2", ['a', 'b']);
  120. })();
  121. function test6() {
  122. var n = 10;
  123. var o = {};
  124. for(; o.length;) {
  125. var i = n - 10;
  126. do {
  127. i += 3;
  128. if(i > n + 3)
  129. break;
  130. o.length;
  131. } while(false);
  132. if(n === n + 3)
  133. break;
  134. }
  135. }
  136. test6();
  137. test6();
  138. function test7(i) {
  139. while(i &= 3) {
  140. while(++i) {
  141. if(1) {
  142. break;
  143. }
  144. }
  145. }
  146. }
  147. test7(1);
  148. function test8() {
  149. for(var i = 0; i < 2; ++i) {
  150. (2147483650 >>> i) & 1;
  151. test8a.call(2147483650);
  152. }
  153. function test8a() { };
  154. }
  155. test8();