1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15// @ts-nocheck 16declare function print(arg: any, arg1?: any): string; 17 18function JSFunction() { 19 print(Function); 20 globalThis.Function = "Function"; 21 print(Function); 22 delete globalThis.Function; 23 try { 24 print(Function); 25 } catch (error) { 26 print(error); 27 } 28} 29 30function JSRangeError() { 31 print(RangeError); 32 globalThis.RangeError = "RangeError"; 33 print(RangeError); 34 delete globalThis.RangeError; 35 try { 36 print(RangeError); 37 } catch (error) { 38 print(error); 39 } 40} 41 42function JSError() { 43 print(Error); 44 globalThis.Error = "Error"; 45 print(Error); 46 delete globalThis.Error; 47 try { 48 print(Error); 49 } catch (error) { 50 print(error); 51 } 52} 53 54function JSObject() { 55 print(Object); 56 globalThis.Object = "Object"; 57 print(Object); 58 delete globalThis.Object; 59 try { 60 print(Object); 61 } catch (error) { 62 print(error); 63 } 64} 65 66function JSSyntaxError() { 67 print(SyntaxError); 68 globalThis.SyntaxError = "SyntaxError"; 69 print(SyntaxError); 70 delete globalThis.SyntaxError; 71 try { 72 print(SyntaxError); 73 } catch (error) { 74 print(error); 75 } 76} 77 78function JSTypeError() { 79 print(TypeError); 80 globalThis.TypeError = "TypeError"; 81 print(TypeError); 82 delete globalThis.TypeError; 83 try { 84 print(TypeError); 85 } catch (error) { 86 print(error); 87 } 88} 89 90function JSReferenceError() { 91 print(ReferenceError); 92 globalThis.ReferenceError = "ReferenceError"; 93 print(ReferenceError); 94 delete globalThis.ReferenceError; 95 try { 96 print(ReferenceError); 97 } catch (error) { 98 print(error); 99 } 100} 101 102function JSURIError() { 103 print(URIError); 104 globalThis.URIError = "URIError"; 105 print(URIError); 106 delete globalThis.URIError; 107 try { 108 print(URIError); 109 } catch (error) { 110 print(error); 111 } 112} 113 114function JSSymbol() { 115 print(Symbol); 116 globalThis.Symbol = "Symbol"; 117 print(Symbol); 118 delete globalThis.Symbol; 119 try { 120 print(Symbol); 121 } catch (error) { 122 print(error); 123 } 124} 125 126function JSEvalError() { 127 print(EvalError); 128 globalThis.EvalError = "EvalError"; 129 print(EvalError); 130 delete globalThis.EvalError; 131 try { 132 print(EvalError); 133 } catch (error) { 134 print(error); 135 } 136} 137 138function JSNumber() { 139 print(Number); 140 globalThis.Number = "Number"; 141 print(Number); 142 delete globalThis.Number; 143 try { 144 print(Number); 145 } catch (error) { 146 print(error); 147 } 148} 149 150function JSparseFloat() { 151 print(parseFloat); 152 globalThis.parseFloat = "parseFloat"; 153 print(parseFloat); 154 delete globalThis.parseFloat; 155 try { 156 print(parseFloat); 157 } catch (error) { 158 print(error); 159 } 160} 161 162function JSDate() { 163 print(Date); 164 globalThis.Date = "Date"; 165 print(Date); 166 delete globalThis.Date; 167 try { 168 print(Date); 169 } catch (error) { 170 print(error); 171 } 172} 173 174function JSBoolean() { 175 print(Boolean); 176 globalThis.Boolean = "Boolean"; 177 print(Boolean); 178 delete globalThis.Boolean; 179 try { 180 print(Boolean); 181 } catch (error) { 182 print(error); 183 } 184} 185 186function JSBigInt() { 187 print(BigInt); 188 globalThis.BigInt = "BigInt"; 189 print(BigInt); 190 delete globalThis.BigInt; 191 try { 192 print(BigInt); 193 } catch (error) { 194 print(error); 195 } 196} 197 198function JSparseInt() { 199 print(parseInt); 200 globalThis.parseInt = "parseInt"; 201 print(parseInt); 202 delete globalThis.parseInt; 203 try { 204 print(parseInt); 205 } catch (error) { 206 print(error); 207 } 208} 209 210function JSWeakMap() { 211 print(WeakMap); 212 globalThis.WeakMap = "WeakMap"; 213 print(WeakMap); 214 delete globalThis.WeakMap; 215 try { 216 print(WeakMap); 217 } catch (error) { 218 print(error); 219 } 220} 221 222function JSRegExp() { 223 print(RegExp); 224 globalThis.RegExp = "RegExp"; 225 print(RegExp); 226 delete globalThis.RegExp; 227 try { 228 print(RegExp); 229 } catch (error) { 230 print(error); 231 } 232} 233 234function JSSet() { 235 print(Set); 236 globalThis.Set = "Set"; 237 print(Set); 238 delete globalThis.Set; 239 try { 240 print(Set); 241 } catch (error) { 242 print(error); 243 } 244} 245 246function JSMap() { 247 print(Map); 248 globalThis.Map = "Map"; 249 print(Map); 250 delete globalThis.Map; 251 try { 252 print(Map); 253 } catch (error) { 254 print(error); 255 } 256} 257 258function JSWeakRef() { 259 print(WeakRef); 260 globalThis.WeakRef = "WeakRef"; 261 print(WeakRef); 262 delete globalThis.WeakRef; 263 try { 264 print(WeakRef); 265 } catch (error) { 266 print(error); 267 } 268} 269 270function JSWeakSet() { 271 print(WeakSet); 272 globalThis.WeakSet = "WeakSet"; 273 print(WeakSet); 274 delete globalThis.WeakSet; 275 try { 276 print(WeakSet); 277 } catch (error) { 278 print(error); 279 } 280} 281 282function JSFinalizationRegistry() { 283 print(FinalizationRegistry); 284 globalThis.FinalizationRegistry = "FinalizationRegistry"; 285 print(FinalizationRegistry); 286 delete globalThis.FinalizationRegistry; 287 try { 288 print(FinalizationRegistry); 289 } catch (error) { 290 print(error); 291 } 292} 293 294function JSArray() { 295 print(Array); 296 globalThis.Array = "Array"; 297 print(Array); 298 delete globalThis.Array; 299 try { 300 print(Array); 301 } catch (error) { 302 print(error); 303 } 304} 305 306function JSUint8ClampedArray() { 307 print(Uint8ClampedArray); 308 globalThis.Uint8ClampedArray = "Uint8ClampedArray"; 309 print(Uint8ClampedArray); 310 delete globalThis.Uint8ClampedArray; 311 try { 312 print(Uint8ClampedArray); 313 } catch (error) { 314 print(error); 315 } 316} 317 318function JSUint8Array() { 319 print(Uint8Array); 320 globalThis.Uint8Array = "Uint8Array"; 321 print(Uint8Array); 322 delete globalThis.Uint8Array; 323 try { 324 print(Uint8Array); 325 } catch (error) { 326 print(error); 327 } 328} 329 330function JSTypedArray() { 331 print(TypedArray); 332 globalThis.TypedArray = "TypedArray"; 333 print(TypedArray); 334 delete globalThis.TypedArray; 335 try { 336 print(TypedArray); 337 } catch (error) { 338 print(error); 339 } 340} 341 342function JSInt8Array() { 343 print(Int8Array); 344 globalThis.Int8Array = "Int8Array"; 345 print(Int8Array); 346 delete globalThis.Int8Array; 347 try { 348 print(Int8Array); 349 } catch (error) { 350 print(error); 351 } 352} 353 354function JSUint16Array() { 355 print(Uint16Array); 356 globalThis.Uint16Array = "Uint16Array"; 357 print(Uint16Array); 358 delete globalThis.Uint16Array; 359 try { 360 print(Uint16Array); 361 } catch (error) { 362 print(error); 363 } 364} 365 366function JSUint32Array() { 367 print(Uint32Array); 368 globalThis.Uint32Array = "Uint32Array"; 369 print(Uint32Array); 370 delete globalThis.Uint32Array; 371 try { 372 print(Uint32Array); 373 } catch (error) { 374 print(error); 375 } 376} 377 378function JSInt16Array() { 379 print(Int16Array); 380 globalThis.Int16Array = "Int16Array"; 381 print(Int16Array); 382 delete globalThis.Int16Array; 383 try { 384 print(Int16Array); 385 } catch (error) { 386 print(error); 387 } 388} 389 390function JSInt32Array() { 391 print(Int32Array); 392 globalThis.Int32Array = "Int32Array"; 393 print(Int32Array); 394 delete globalThis.Int32Array; 395 try { 396 print(Int32Array); 397 } catch (error) { 398 print(error); 399 } 400} 401 402function JSFloat32Array() { 403 print(Float32Array); 404 globalThis.Float32Array = "Float32Array"; 405 print(Float32Array); 406 delete globalThis.Float32Array; 407 try { 408 print(Float32Array); 409 } catch (error) { 410 print(error); 411 } 412} 413 414function JSFloat64Array() { 415 print(Float64Array); 416 globalThis.Float64Array = "Float64Array"; 417 print(Float64Array); 418 delete globalThis.Float64Array; 419 try { 420 print(Float64Array); 421 } catch (error) { 422 print(error); 423 } 424} 425 426function JSBigInt64Array() { 427 print(BigInt64Array); 428 globalThis.BigInt64Array = "BigInt64Array"; 429 print(BigInt64Array); 430 delete globalThis.BigInt64Array; 431 try { 432 print(BigInt64Array); 433 } catch (error) { 434 print(error); 435 } 436} 437 438function JSBigUint64Array() { 439 print(BigUint64Array); 440 globalThis.BigUint64Array = "BigUint64Array"; 441 print(BigUint64Array); 442 delete globalThis.BigUint64Array; 443 try { 444 print(BigUint64Array); 445 } catch (error) { 446 print(error); 447 } 448} 449 450function JSSharedArrayBuffer() { 451 print(SharedArrayBuffer); 452 globalThis.SharedArrayBuffer = "SharedArrayBuffer"; 453 print(SharedArrayBuffer); 454 delete globalThis.SharedArrayBuffer; 455 try { 456 print(SharedArrayBuffer); 457 } catch (error) { 458 print(error); 459 } 460} 461 462function JSDataView() { 463 print(DataView); 464 globalThis.DataView = "DataView"; 465 print(DataView); 466 delete globalThis.DataView; 467 try { 468 print(DataView); 469 } catch (error) { 470 print(error); 471 } 472} 473 474function JSString() { 475 print(String); 476 globalThis.String = "String"; 477 print(String); 478 delete globalThis.String; 479 try { 480 print(String); 481 } catch (error) { 482 print(error); 483 } 484} 485 486function JSArrayBuffer() { 487 print(ArrayBuffer); 488 globalThis.ArrayBuffer = "ArrayBuffer"; 489 print(ArrayBuffer); 490 delete globalThis.ArrayBuffer; 491 try { 492 print(ArrayBuffer); 493 } catch (error) { 494 print(error); 495 } 496} 497 498function JSeval() { 499 print(eval); 500 globalThis.eval = "eval"; 501 print(eval); 502 delete globalThis.eval; 503 try { 504 print(eval); 505 } catch (error) { 506 print(error); 507 } 508} 509 510function JSisFinite() { 511 print(isFinite); 512 globalThis.isFinite = "isFinite"; 513 print(isFinite); 514 delete globalThis.isFinite; 515 try { 516 print(isFinite); 517 } catch (error) { 518 print(error); 519 } 520} 521 522function JSdecodeURI() { 523 print(decodeURI); 524 globalThis.decodeURI = "decodeURI"; 525 print(decodeURI); 526 delete globalThis.decodeURI; 527 try { 528 print(decodeURI); 529 } catch (error) { 530 print(error); 531 } 532} 533 534function JSdecodeURIComponent() { 535 print(decodeURIComponent); 536 globalThis.decodeURIComponent = "decodeURIComponent"; 537 print(decodeURIComponent); 538 delete globalThis.decodeURIComponent; 539 try { 540 print(decodeURIComponent); 541 } catch (error) { 542 print(error); 543 } 544} 545 546function JSisNaN() { 547 print(isNaN); 548 globalThis.isNaN = "isNaN"; 549 print(isNaN); 550 delete globalThis.isNaN; 551 try { 552 print(isNaN); 553 } catch (error) { 554 print(error); 555 } 556} 557 558function JSencodeURI() { 559 print(encodeURI); 560 globalThis.encodeURI = "encodeURI"; 561 print(encodeURI); 562 delete globalThis.encodeURI; 563 try { 564 print(encodeURI); 565 } catch (error) { 566 print(error); 567 } 568} 569 570function JSencodeURIComponent() { 571 print(encodeURIComponent); 572 globalThis.encodeURIComponent = "encodeURIComponent"; 573 print(encodeURIComponent); 574 delete globalThis.encodeURIComponent; 575 try { 576 print(encodeURIComponent); 577 } catch (error) { 578 print(error); 579 } 580} 581 582function JSMath() { 583 print(Math); 584 globalThis.Math = "Math"; 585 print(Math); 586 delete globalThis.Math; 587 try { 588 print(Math); 589 } catch (error) { 590 print(error); 591 } 592} 593 594function JSJSON() { 595 print(JSON); 596 globalThis.JSON = "JSON"; 597 print(JSON); 598 delete globalThis.JSON; 599 try { 600 print(JSON); 601 } catch (error) { 602 print(error); 603 } 604} 605 606function JSAtomics() { 607 print(Atomics); 608 globalThis.Atomics = "Atomics"; 609 print(Atomics); 610 delete globalThis.Atomics; 611 try { 612 print(Atomics); 613 } catch (error) { 614 print(error); 615 } 616} 617 618function JSReflect() { 619 print(Reflect); 620 globalThis.Reflect = "Reflect"; 621 print(Reflect); 622 delete globalThis.Reflect; 623 try { 624 print(Reflect); 625 } catch (error) { 626 print(error); 627 } 628} 629 630function JSPromise() { 631 print(Promise); 632 globalThis.Promise = "Promise"; 633 print(Promise); 634 delete globalThis.Promise; 635 try { 636 print(Promise); 637 } catch (error) { 638 print(error); 639 } 640} 641 642function JSProxy() { 643 print(Proxy); 644 globalThis.Proxy = "Proxy"; 645 print(Proxy); 646 delete globalThis.Proxy; 647 try { 648 print(Proxy); 649 } catch (error) { 650 print(error); 651 } 652} 653 654function JSGeneratorFunction() { 655 print(GeneratorFunction); 656 globalThis.GeneratorFunction = "GeneratorFunction"; 657 print(GeneratorFunction); 658 delete globalThis.GeneratorFunction; 659 try { 660 print(GeneratorFunction); 661 } catch (error) { 662 print(error); 663 } 664} 665 666function JSIntl() { 667 print(Intl); 668 globalThis.Intl = "Intl"; 669 print(Intl); 670 delete globalThis.Intl; 671 try { 672 print(Intl); 673 } catch (error) { 674 print(error); 675 } 676} 677 678JSFunction(); 679JSRangeError(); 680JSError(); 681JSObject(); 682JSSyntaxError(); 683JSTypeError(); 684JSReferenceError(); 685JSURIError(); 686JSSymbol(); 687JSEvalError(); 688JSNumber(); 689JSparseFloat(); 690JSDate(); 691JSBoolean(); 692JSBigInt(); 693JSparseInt(); 694JSWeakMap(); 695JSRegExp(); 696JSSet(); 697JSMap(); 698JSWeakRef(); 699JSWeakSet(); 700JSFinalizationRegistry(); 701JSArray(); 702JSUint8ClampedArray(); 703JSUint8Array(); 704JSTypedArray(); 705JSInt8Array(); 706JSUint16Array(); 707JSUint32Array(); 708JSInt16Array(); 709JSInt32Array(); 710JSFloat32Array(); 711JSFloat64Array(); 712JSBigInt64Array(); 713JSBigUint64Array(); 714JSSharedArrayBuffer(); 715JSDataView(); 716JSString(); 717JSArrayBuffer(); 718JSeval(); 719JSisFinite(); 720JSdecodeURI(); 721JSdecodeURIComponent(); 722JSisNaN(); 723JSencodeURI(); 724JSencodeURIComponent(); 725JSMath(); 726JSJSON(); 727JSAtomics(); 728JSReflect(); 729JSPromise(); 730JSProxy(); 731JSGeneratorFunction(); 732JSIntl(); 733