{"ScriptPreparationCode":"var __decorate = (this \u0026\u0026 this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c \u003C 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \u0022object\u0022 \u0026\u0026 typeof Reflect.decorate === \u0022function\u0022) r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i \u003E= 0; i--) if (d = decorators[i]) r = (c \u003C 3 ? d(r) : c \u003E 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c \u003E 3 \u0026\u0026 r \u0026\u0026 Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this \u0026\u0026 this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \u0022object\u0022 \u0026\u0026 typeof Reflect.metadata === \u0022function\u0022) return Reflect.metadata(k, v);\r\n};\r\nvar ENABLED = true;\r\nvar MeasureFn = function (target, propertyKey, descriptor) {\r\n var originalMethod = descriptor.value;\r\n descriptor.value = function wrapped() {\r\n var args = [];\r\n for (var _i = 0; _i \u003C arguments.length; _i\u002B\u002B) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (ENABLED) {\r\n window.performance.mark(\u0027ABC:activate\u0027);\r\n }\r\n var result = originalMethod.apply(this, args);\r\n if (ENABLED) {\r\n window.performance.measure(\u0027ABC\u0027, \u0027ABC:activate\u0027);\r\n window.performance.clearMarks(\u0027ABC:activate\u0027);\r\n }\r\n return result;\r\n };\r\n // return edited descriptor as opposed to overwriting the descriptor\r\n return descriptor;\r\n};\r\nvar ABC = /** @class */ (function () {\r\n function ABC() {\r\n }\r\n ABC.prototype.register = function () {\r\n };\r\n __decorate([\r\n MeasureFn,\r\n __metadata(\u0022design:type\u0022, Function),\r\n __metadata(\u0022design:paramtypes\u0022, []),\r\n __metadata(\u0022design:returntype\u0022, void 0)\r\n ], ABC.prototype, \u0022register\u0022, null);\r\n return ABC;\r\n}());\r\nvar CBA = /** @class */ (function () {\r\n function CBA() {\r\n }\r\n CBA.prototype.register = function () {\r\n if (ENABLED) {\r\n window.performance.mark(\u0027CBA:activate\u0027);\r\n }\r\n if (ENABLED) {\r\n window.performance.measure(\u0027CBA\u0027, \u0027CBA:activate\u0027);\r\n window.performance.clearMarks(\u0027CBA:activate\u0027);\r\n }\r\n };\r\n return CBA;\r\n}());\r\nvar abc = new ABC();\r\nvar cba = new CBA();","TestCases":[{"Name":"if","Code":"cba.register();","IsDeferred":false},{"Name":"decorator","Code":"abc.register()","IsDeferred":false}]}