diff --git a/standard/attributes.md b/standard/attributes.md index 3d3bf4cd4..38816dabb 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -865,7 +865,7 @@ For invocations that occur within declarations of instance constructors, static #### 22.5.7.1 General -The attributes in this section are used to provide additional information to support a compiler that provides nullability and null-state diagnostics ([§8.9.5](types.md#895-nullabilities-and-null-states)). A compiler isn’t required to perform any null-state diagnostics. The presence or absence of these attributes do not affect the language nor the behavior of a program. A compiler that doesn’t provide null-state diagnostics shall read and ignore the presence of these attributes. A compiler that provides null-state diagnostics shall use the meaning defined in this section for any of these attributes which it uses to inform its diagnostics. +The attributes in this subclause are used to provide additional information to support a compiler that provides nullability and null-state diagnostics ([§8.9.5](types.md#895-nullabilities-and-null-states)). A compiler isn’t required to perform any null-state diagnostics. The presence or absence of these attributes do not affect the language nor the behavior of a program. A compiler that doesn’t provide null-state diagnostics shall read and ignore the presence of these attributes. A compiler that provides null-state diagnostics shall use the meaning defined in this subclause for any of these attributes which it uses to inform its diagnostics. The code-analysis attributes are declared in namespace `System.Diagnostics.CodeAnalysis`. @@ -881,7 +881,7 @@ The code-analysis attributes are declared in namespace `System.Diagnostics.CodeA `DoesNotReturn` ([§22.5.7.4](attributes.md#22574-the-doesnotreturn-attribute)) | This method never returns. `DoesNotReturnIf` ([§22.5.7.5](attributes.md#22575-the-doesnotreturnif-attribute)) | This method never returns if the associated `bool` parameter has the specified value. -The following sections in [§22.5.7.1](attributes.md#22571-general) are conditionally normative. +The following subclauses in [§22.5.7.1](attributes.md#22571-general) are conditionally normative. #### 22.5.7.2 The AllowNull attribute diff --git a/standard/classes.md b/standard/classes.md index 6ce6c706e..6880e0d67 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -3365,7 +3365,7 @@ The differences between static and instance members are discussed further in [§ ### 15.7.3 Accessors -*Note*: This clause applies to both properties ([§15.7](classes.md#157-properties)) and indexers ([§15.9](classes.md#159-indexers)). The clause is written in terms of properties, when reading for indexers substitute indexer/indexers for property/properties and consult the list of differences between properties and indexers given in [§15.9.2](classes.md#1592-indexer-and-property-differences). *end note* +*Note*: This subclause applies to both properties ([§15.7](classes.md#157-properties)) and indexers ([§15.9](classes.md#159-indexers)). The subclause is written in terms of properties, when reading for indexers substitute indexer/indexers for property/properties and consult the list of differences between properties and indexers given in [§15.9.2](classes.md#1592-indexer-and-property-differences). *end note* The *accessor_declarations* of a property specify the executable statements associated with writing and/or reading that property. @@ -3922,7 +3922,7 @@ An accessor that is used to implement an interface shall not have an *accessor_m ### 15.7.6 Virtual, sealed, override, and abstract accessors -*Note*: This clause applies to both properties ([§15.7](classes.md#157-properties)) and indexers ([§15.9](classes.md#159-indexers)). The clause is written in terms of properties, when reading for indexers substitute indexer/indexers for property/properties and consult the list of differences between properties and indexers given in [§15.9.2](classes.md#1592-indexer-and-property-differences). *end note* +*Note*: This subclause applies to both properties ([§15.7](classes.md#157-properties)) and indexers ([§15.9](classes.md#159-indexers)). The subclause is written in terms of properties, when reading for indexers substitute indexer/indexers for property/properties and consult the list of differences between properties and indexers given in [§15.9.2](classes.md#1592-indexer-and-property-differences). *end note* A virtual property declaration specifies that the accessors of the property are virtual. The `virtual` modifier applies to all non-private accessors of a property. When an accessor of a virtual property has the `private` *accessor_modifier*, the private accessor is implicitly not virtual. diff --git a/standard/delegates.md b/standard/delegates.md index 75c74b938..d68014f08 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -172,7 +172,7 @@ This definition of compatibility allows covariance in return type and contravari > > The `Print` method is compatible with the `Action` delegate type because any invocation of an `Action` delegate would also be a valid invocation of the `Print` method. > -> If the signature of the `Print` method above were changed to `Print(object value, bool prependTimestamp = false)` for example, the `Print` method would no longer be compatible with `Action` by the rules of this clause. +> If the signature of the `Print` method above were changed to `Print(object value, bool prependTimestamp = false)` for example, the `Print` method would no longer be compatible with `Action` by the rules of this subclause. > > *end note* diff --git a/standard/general-description.md b/standard/general-description.md index a8ae96d8d..c966fcfbe 100644 --- a/standard/general-description.md +++ b/standard/general-description.md @@ -6,13 +6,13 @@ This specification is intended to be used by implementers, academics, and applic This specification is divided into the following subdivisions: front matter; language syntax, constraints, and semantics; and annexes. -Examples are provided to illustrate possible forms of the constructions described. References are used to refer to related clauses. Notes are provided to give advice or guidance to implementers or programmers. Annexes provide additional information and summarize the information contained in this specification. +Examples are provided to illustrate possible forms of the constructions described. References are used to refer to related clauses and subclauses. Notes are provided to give advice or guidance to implementers or programmers. Annexes provide additional information and summarize the information contained in this specification. **End of informative text.** Informative text is indicated in the following ways: -1. Whole or partial clauses or annexes delimited by “**This clause/text is informative**” and “**End of informative text**”. +1. Whole or partial clauses (or subclauses) or annexes delimited by “**This clause/text is informative**” and “**End of informative text**”. 1. *Example*: The following example … code fragment, possibly with some narrative … *end example* The *Example:* and *end example* markers are in the same paragraph for single paragraph examples. If an example spans multiple paragraphs, the end example marker should be its own paragraph. 1. *Note*: narrative … *end note* The *Note*: and *end note* markers are in the same paragraph for single paragraph notes. If a note spans multiple paragraphs, the *end note* marker should be its own paragraph. diff --git a/standard/variables.md b/standard/variables.md index 4f3d4110b..37024ae6e 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -614,7 +614,7 @@ A `yield break` statement has no effect on the definite-assignment state. #### 9.4.4.21 General rules for constant expressions -The following applies to any constant expression, and takes priority over any rules from the following sections that might apply: +The following applies to any constant expression, and takes priority over any rules from the following subclauses that might apply: For a constant expression with value `true`: