You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A *class_declaration* consists of an optional set of *attributes* ([§23](attributes.md#23-attributes)), followed by an optional set of *class_modifier*s ([§15.2.2](classes.md#1522-class-modifiers)), followed by an optional `partial` modifier ([§15.2.7](classes.md#1527-partial-type-declarations)), followed by a *class_tag* and an *identifier* that names the class, followed by an optional *type_parameter_list* ([§15.2.3](classes.md#1523-type-parameters)), followed by an optional *parameter_list* ([§15.6.2.1](classes.md#15621-general)), followed by an optional *class_base* specification ([§15.2.4](classes.md#1524-class-base-specification)), followed by an optional set of *type_parameter_constraints_clause*s ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by a *class_body* ([§15.2.6](classes.md#1526-class-body)), optionally followed by a semicolon.
28
+
A *class_declaration* consists of an optional set of *attributes* ([§23](attributes.md#23-attributes)), followed by an optional set of *class_modifier*s ([§15.2.2](classes.md#1522-class-modifiers)), followed by an optional `partial` modifier ([§15.2.7](classes.md#1527-partial-type-declarations)), followed by a *class_tag* and an *identifier* that names the class, followed by an optional *type_parameter_list* ([§15.2.3](classes.md#1523-type-parameters)), followed by an optional *delimited_parameter_list* ([§15.6.2.1](classes.md#15621-general)), followed by an optional *class_base* specification ([§15.2.4](classes.md#1524-class-base-specification)), followed by an optional set of *type_parameter_constraints_clause*s ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by a *class_body* ([§15.2.6](classes.md#1526-class-body)), optionally followed by a semicolon.
29
29
30
30
A class declaration shall not supply *type_parameter_constraints_clause*s unless it also supplies a *type_parameter_list*.
31
31
@@ -35,13 +35,13 @@ If *class_tag* contains `record`, that class is a ***record class***; otherwise,
35
35
36
36
For a record class, *class_modifier* shall not be `static`.
37
37
38
-
*parameter_list* shall not be present in a non-record class.
38
+
*delimited_parameter_list* shall not be present in a non-record class.
39
39
40
-
A *class_declaration* having a *parameter_list* declares a ***positional record class***.
40
+
A *class_declaration* having a *delimited_parameter_list* declares a ***positional record class***.
41
41
42
-
At most only one partial type declaration of a partial record class may provide a *parameter_list*.
42
+
At most only one partial type declaration of a partial record class may provide a *delimited_parameter_list*.
43
43
44
-
Parameters in *parameter_list* shall not have `ref`, `out` or `this` modifiers; however, `in` and `params` modifiers are permitted.
44
+
Parameters in *delimited_parameter_list* shall not have `ref`, `out` or `this` modifiers; however, `in` and `params` modifiers are permitted.
45
45
46
46
### 15.2.2 Class modifiers
47
47
@@ -205,7 +205,7 @@ interface_type_list
205
205
206
206
A record class may not inherit from a non-record class other than `object`, and a non-record class may not inherit from a record class.
207
207
208
-
It is an error for *class_base* to have a *base_argument_list* if the corresponding *class_declaration* does not contain a *parameter_list*.
208
+
It is an error for *class_base* to have a *base_argument_list* if the corresponding *class_declaration* does not contain a *delimited_parameter_list*.
209
209
210
210
#### 15.2.4.2 Base classes
211
211
@@ -2233,11 +2233,11 @@ All parameters and type parameters shall have different names.
2233
2233
The parameters of a method, if any, are declared by the method’s *parameter_list*.
0 commit comments