1/* 2 * Copyright (c) 2024 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 16function f1(a: int, ...b: int[] = 47): bool { 17 console.log(a, b...); 18 let x = (x instanceof A<string); 19 return x instanceof A<int>; 20} 21 22function f2(a?: int = 44): void {} 23 24function f3(a: int = ): void; 25 26function f4() { 27 55 = int; 28 69++ 29 --58 30 78 = type 31} 32 33function f5(...b: int[] = 47, c?: int = 88): void {} 34 35let x = (: int => { return 7; } 36 37let x: number => 77 38let x = new int(7); 39let x = new int{8}; 40 41interface C { 42 f(a: int = 0): void; 43} 44 45class A { 46 f1(): void { 47 async x = 9 48 } 49 50 f2() { 51 this.99++; 52 } 53} 54 55function f6(a: int = 9 @@): void; 56 57function f7(a: (b: int = 0) => int): void { 58} 59 60/* @@? 16:35 Error SyntaxError: Rest parameter cannot have the default value. */ 61/* @@? 17:21 Error SyntaxError: Unexpected token, expected: ')'. */ 62/* @@? 17:24 Error SyntaxError: Unexpected token ')'. */ 63/* @@? 17:24 Error SyntaxError: Unexpected token ')'. */ 64/* @@? 18:35 Error SyntaxError: Unexpected token, expected: '>'. */ 65/* @@? 18:36 Error SyntaxError: Unexpected token, expected: ')'. */ 66/* @@? 22:23 Error SyntaxError: Not enable default value with default undefined */ 67/* @@? 24:22 Error SyntaxError: You didn't set the value. */ 68/* @@? 24:22 Error SyntaxError: Unexpected token ')'. */ 69/* @@? 27:8 Error SyntaxError: Invalid left-hand side in assignment expression */ 70/* @@? 28:7 Error SyntaxError: Invalid left-hand side operator. */ 71/* @@? 30:5 Error SyntaxError: Invalid left-hand side in prefix operation */ 72/* @@? 30:8 Error SyntaxError: Invalid left-hand side in assignment expression */ 73/* @@? 33:27 Error SyntaxError: Rest parameter cannot have the default value. */ 74/* @@? 33:29 Error SyntaxError: Unexpected token, expected an identifier. */ 75/* @@? 33:41 Error SyntaxError: Not enable default value with default undefined */ 76/* @@? 35:10 Error SyntaxError: Unexpected token ':'. */ 77/* @@? 35:10 Error SyntaxError: Unexpected token, expected: ')'. */ 78/* @@? 35:10 Error SyntaxError: Unexpected token ')'. */ 79/* @@? 35:10 Error SyntaxError: Unexpected token ')'. */ 80/* @@? 35:10 Error SyntaxError: Unexpected token ')'. */ 81/* @@? 35:12 Error SyntaxError: Unexpected token 'identification literal'. */ 82/* @@? 35:16 Error SyntaxError: Unexpected token '=>'. */ 83/* @@? 35:21 Error SyntaxError: return keyword should be used in function body */ 84/* @@? 37:15 Error SyntaxError: Unexpected token '=>'. */ 85/* @@? 37:15 Error SyntaxError: Unexpected token '=>'. */ 86/* @@? 38:13 Error SyntaxError: Can not use 'new' on primitive types. */ 87/* @@? 39:16 Error SyntaxError: Invalid { after base types. */ 88/* @@? 39:17 Error SyntaxError: Unexpected token 'number literal'. */ 89/* @@? 39:18 Error SyntaxError: Unexpected token '}'. */ 90/* @@? 47:15 Error SyntaxError: Unexpected token, expected: '('. */ 91/* @@? 47:17 Error SyntaxError: Unexpected token, expected an identifier. */ 92/* @@? 47:19 Error SyntaxError: Unexpected token, expected an identifier. */ 93/* @@? 48:5 Error SyntaxError: Unexpected token, expected an identifier. */ 94/* @@? 50:7 Error SyntaxError: Invalid token: ',' or ')' expected. */ 95/* @@? 50:8 Error SyntaxError: Unexpected token, expected: '=>'. */ 96/* @@? 51:13 Error SyntaxError: Unexpected token 'number literal'. */ 97/* @@? 51:16 Error SyntaxError: Invalid left-hand side operator. */ 98/* @@? 55:1 Error SyntaxError: Identifier expected, got 'function'. */ 99/* @@? 55:10 Error SyntaxError: Field type annotation expected */ 100/* @@? 55:24 Error SyntaxError: Unexpected token: '@@'. */ 101/* @@? 55:24 Error SyntaxError: Invalid token: ',' or ')' expected. */ 102/* @@? 55:26 Error SyntaxError: Identifier expected, got ')'. */ 103/* @@? 57:1 Error SyntaxError: Identifier expected, got 'function'. */ 104/* @@? 57:10 Error SyntaxError: Field type annotation expected */ 105/* @@? 57:26 Error SyntaxError: Default value is allowed only for optional parameters */ 106