test112.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. var shouldBailout = false;
  6. var PolyFuncArr = [];
  7. function GetPolymorphicFunction() {
  8. var myFunc = PolyFuncArr.shift();
  9. return myFunc;
  10. }
  11. function GetObjectwithPolymorphicFunction() {
  12. var obj = {};
  13. obj.polyfunc = GetPolymorphicFunction();
  14. return obj;
  15. }
  16. function InitPolymorphicFunctionArray() {
  17. for(var i = 0; i < arguments.length; i++) {
  18. PolyFuncArr.push(arguments[i]);
  19. }
  20. }
  21. function leaf() {
  22. }
  23. var obj0 = {};
  24. var arrObj0 = {};
  25. var func0 = function(argObj0) {
  26. !((Math.atan(-2), f64[!i16[obj0.prop1 & 255] & 255], ui32[leaf.call(obj0) & 255], arrObj0[((shouldBailout ? arrObj0[(!i16[obj0.prop1 & 255] >= 0 ? !i16[obj0.prop1 & 255] : 0) & 15] = 'x' : undefined, !i16[obj0.prop1 & 255]) >= 0 ? !i16[obj0.prop1 & 255] : 0) & 15], g /= argObj0.length ? this.prop1 instanceof (typeof Function == 'function' ? Function : Object) : this.prop0, argObj0.length--) * ((argObj0.prop0 |= typeof argObj0.length == 'undefined') + arrObj0[5]), b % +(1 % (2 >= obj0.prop1)) > (typeof obj0.prop1 == 'number'), leaf.call(arrObj0) / ((argObj0.prop0 -= obj0.prop1 * arrObj0.prop0 + 116 & (argObj0.prop0 <= g && a === arrObj0.length) ? -2 <= -26918378 < (-0 instanceof (typeof Error == 'function' ? Error : Object)) : shouldBailout ? leaf() : leaf()) == 0 ? 1 : argObj0.prop0 -= obj0.prop1 * arrObj0.prop0 + 116 & (argObj0.prop0 <= g && a === arrObj0.length) ? -2 <= -26918378 < (-0 instanceof (typeof Error == 'function' ? Error : Object)) : shouldBailout ? leaf() : leaf()), leaf.call(argObj0), ++this.prop1, ++this.prop1 ? ++this.prop1 : g);
  27. };
  28. var func2 = function() {
  29. };
  30. var i16 = new Int16Array(256);
  31. var ui32 = new Uint32Array(256);
  32. var f64 = new Float64Array(256);
  33. var b = 1;
  34. var g = 1602848414.1;
  35. function bar0() {
  36. func0(obj0);
  37. }
  38. try {
  39. InitPolymorphicFunctionArray(bar0);
  40. var __polyobj = GetObjectwithPolymorphicFunction();
  41. switch(~(obj0.prop1 > this.prop0)) {
  42. default:
  43. __polyobj.polyfunc();
  44. }
  45. arrObj0(func2(__polyobj.polyfunc()), __polyobj.polyfunc());
  46. }
  47. catch(ex) {
  48. }
  49. WScript.Echo("pass");