Skip to content

Commit ca71330

Browse files
RexJaeschkeKalleOlaviNiemitalojskeetNigel-Ecma
authored
Remove most references to the CLI (#1370)
* Remove most references to CLI * Remove most CLI references * Remove most CLI references * Remove most CLI references * Remove most CLI references * Update standard/standard-library.md Co-authored-by: Kalle Olavi Niemitalo <[email protected]> * Update standard/standard-library.md Co-authored-by: Nigel-Ecma <[email protected]> * Update standard/standard-library.md --------- Co-authored-by: Kalle Olavi Niemitalo <[email protected]> Co-authored-by: Jon Skeet <[email protected]> Co-authored-by: Nigel-Ecma <[email protected]>
1 parent c641e7c commit ca71330

File tree

5 files changed

+6
-33
lines changed

5 files changed

+6
-33
lines changed

standard/attributes.md

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -483,35 +483,6 @@ Using the terms defined in [§22.4.2](attributes.md#2242-compilation-of-an-attri
483483
- The result is `O`, an instance of the attribute class `T` that has been initialized with the *positional_argument_list* `P` and the *named_argument_list* `N`.
484484
485485
> *Note*: The format for storing `T`, `C`, `P`, `N` (and associating it with `E`) in `A` and the mechanism to specify `E` and retrieve `T`, `C`, `P`, `N` from `A` (and hence how an attribute instance is obtained at runtime) is beyond the scope of this specification. *end note*
486-
<!-- markdownlint-disable MD028 -->
487-
488-
<!-- markdownlint-enable MD028 -->
489-
> *Example*: In an implementation of the CLI, the `Help` attribute instances in the assembly created by compiling the example program in [§22.2.3](attributes.md#2223-positional-and-named-parameters) can be retrieved with the following program:
490-
>
491-
> <!-- Example: {template:"standalone-console", name:"RuntimeAttributeInstanceRetrieval", expectedOutput:["Type : Microsoft.CodeAnalysis.EmbeddedAttribute", "Type : System.Runtime.CompilerServices.NullableAttribute", "Type : System.Runtime.CompilerServices.NullableContextAttribute", "Type : HelpAttribute", "Type : InterrogateHelpUrls"], additionalFiles:["HelpAttribute.cs"], executionArgs:["RuntimeAttributeInstanceRetrieval"]} -->
492-
> <!-- Maintenance Note: The current expectedOutput is based on MS-specific implementation details. -->
493-
> ```csharp
494-
> public sealed class InterrogateHelpUrls
495-
> {
496-
> public static void Main(string[] args)
497-
> {
498-
> Type helpType = typeof(HelpAttribute);
499-
> string assemblyName = args[0];
500-
> foreach (Type t in Assembly.Load(assemblyName).GetTypes())
501-
> {
502-
> Console.WriteLine($"Type : {t}");
503-
> var attributes = t.GetCustomAttributes(helpType, false);
504-
> var helpers = (HelpAttribute[]) attributes;
505-
> foreach (var helper in helpers)
506-
> {
507-
> Console.WriteLine($"\tUrl : {helper.Url}");
508-
> }
509-
> }
510-
> }
511-
> }
512-
> ```
513-
>
514-
> *end example*
515486
516487
## 22.5 Reserved attributes
517488

standard/basic-concepts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ Signatures are the enabling mechanism for ***overloading*** of members in classe
564564
565565
Although `in`, `out`, and `ref` parameter modifiers are considered part of a signature, members declared in a single type cannot differ in signature solely by `in`, `out`, and `ref`. A compile-time error occurs if two members are declared in the same type with signatures that would be the same if all parameters in both methods with `out` or `in` modifiers were changed to `ref` modifiers. For other purposes of signature matching (e.g., hiding or overriding), `in`, `out`, and `ref` are considered part of the signature and do not match each other.
566566
567-
> *Note*: This restriction is to allow Cprograms to be easily translated to run on the Common Language Infrastructure (CLI), which does not provide a way to define methods that differ solely in `in`, `out`, and `ref`. *end note*
567+
> *Note*: This restriction is to allow Cprograms to be easily translated to run on a platform that does not provide a way to define methods that differ solely in `in`, `out`, and `ref`. *end note*
568568
569569
The types `object` and `dynamic` are not distinguished when comparing signatures. Therefore members declared in a single type whose signatures differ only by replacing `object` with `dynamic` are not allowed.
570570

standard/introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This specification is based on a submission from Hewlett-Packard, Intel, and Microsoft, that described a language called C#, which was developed within Microsoft. The principal inventors of this language were Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. The first widely distributed implementation of C# was released by Microsoft in July 2000, as part of its .NET Framework initiative.
44

5-
Ecma Technical Committee 39 (TC39) \[later renamed to TC49\] Task Group 2 (TG2) was formed in September 2000, to produce a standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the .NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other implementations of C# need not, provided they support the features and API required by this C# Standard (see [Annex C](standard-library.md#annex-c-standard-library)).
5+
Ecma Technical Committee 39 (TC39) \[later renamed to TC49\] Task Group 2 (TG2) was formed in September 2000, to produce a standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the .NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other conforming implementations of C# need not, provided they support the features required by this C# Standard (see [Annex C](standard-library.md#annex-c-standard-library)).
66

77
As the definition of C# evolved, the goals used in its design were as follows:
88

standard/portability-issues.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,6 @@ A conforming implementation is required to document its choice of behavior in ea
7272
## B.5 Other issues
7373

7474
1. The exact results of floating-point expression evaluation can vary from one implementation to another, because an implementation is permitted to evaluate such expressions using a greater range and/or precision than is required ([§8.3.7](types.md#837-floating-point-types)).
75-
1. The CLI reserves certain signatures for compatibility with other programming languages ([§15.3.10](classes.md#15310-reserved-member-names)).
75+
1. Certain signatures are reserved for compatibility with other programming languages ([§15.3.10](classes.md#15310-reserved-member-names)).
7676

7777
**End of informative text.**

standard/standard-library.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
## C.1 General
44

5-
A conforming C# implementation shall provide a minimum set of types having specific semantics. These types and their members are listed here, in alphabetical order by namespace and type. For a formal definition of these types and their members, refer to ISO/IEC 23271:2012 *Common Language Infrastructure (CLI), Partition IV; Base Class Library (BCL), Extended Numerics Library, and Extended Array Library*, which are included by reference in this specification.
5+
A conforming C# implementation shall provide a minimum set of types having specific semantics. These types and their members are listed here, in alphabetical order by namespace and type. For a formal definition of the types and their members identified in ([§C.2](standard-library.md#c2-standard-library-types-defined-in-isoiec-23271)), refer to ISO/IEC 23271:2012 *Common Language Infrastructure (CLI), Partition IV; Base Class Library (BCL), Extended Numerics Library, and Extended Array Library*, which are included by reference in this specification. For a list of types and their members required beyond those identified in §C.2, see [§C.3](standard-library.md#c3-standard-library-types-not-defined-in-isoiec-23271).
6+
7+
> *Note*: The adoption of a subset of the CLI’s library API does not create a dependency on the CLI itself; a conforming implementation need not be built upon, or target, the CLI.
68
79
**This text is informative.**
810

0 commit comments

Comments
 (0)