• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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