{"ScriptPreparationCode":"const dirtyNumber = 0b101;\r\nconst dirtyBigInt = 0b101n;\r\nconst dirtySet = (new Set()).add(0).add(2);\r\n\r\nfunction checkDirtyNumber(bits, offset) {\r\n return dirtyNumber \u0026 (bits \u003C\u003C offset);\r\n}\r\n\r\nfunction checkDirtyBigInt(bits, offset) {\r\n return dirtyBigInt \u0026 (BigInt(bits) \u003C\u003C BigInt(offset));\r\n}\r\n\r\nfunction checkDirtySet(index, offset) {\r\n return dirtySet.has(index \u002B offset);\r\n}\r\n\r\nvar base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];\r\nvar staged = Object.create(base);\r\nstaged[1] = 101;\r\nstaged[2] = 102;\r\nstaged[10] = 110;\r\nstaged[12] = 112;\r\nstaged[15] = 115;\r\n\r\nfunction checkDirtyProto(ctx, index) {\r\n return ctx.hasOwnProperty(index); \r\n}\r\n\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction checkDirtyProto2(ctx, index) {\r\n return hasOwnProperty.call(ctx, index); \r\n}\r\n\r\n\r\n","TestCases":[{"Name":"checkDirtyNumber: match","Code":"checkDirtyNumber(0b1, 0);","IsDeferred":false},{"Name":"checkDirtyNumber: nomatch","Code":"checkDirtyNumber(0b10, 0);","IsDeferred":false},{"Name":"checkDirtyBigInt: match","Code":"checkDirtyBigInt(0b1, 0);","IsDeferred":false},{"Name":"checkDirtyBigInt: nomatch","Code":"checkDirtyBigInt(0b10, 0);","IsDeferred":false},{"Name":"checkDirtySet: match","Code":"checkDirtySet(0, 0);","IsDeferred":false},{"Name":"checkDirtySet: nomatch","Code":"checkDirtySet(1, 0);","IsDeferred":false},{"Name":"checkDirtyProto: match","Code":"checkDirtyProto(staged, 10);","IsDeferred":false},{"Name":"checkDirtyProto: nomatch","Code":"checkDirtyProto(staged, 19);","IsDeferred":false},{"Name":"checkDirtyProto2: match","Code":"checkDirtyProto2(staged, 10);","IsDeferred":false},{"Name":"checkDirtyProto2: nomatch","Code":"checkDirtyProto2(staged, 19);","IsDeferred":false}]}