Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix typos #72314

Merged
merged 12 commits into from
Jul 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions docs/coding-guidelines/libraries-packaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Some packages may wish to include a companion analyzer or source-generator with

To include an analyzer in a package, simply add an `AnalyzerReference` item to the project that produces the package that should contain the analyzer and set the `Pack` metadata to true. If you just want to include the analyzer but not consume it, set the `ReferenceAnalyzer` metadata to false.
```xml
<ItemGroup>
<ItemGroup>
<AnalyzerReference Include="..\gen\System.Banana.Generators.csproj" Pack="true" ReferenceAnalyzer="false" />
</ItemGroup>
```
Expand All @@ -86,7 +86,7 @@ In the analyzer project make sure to do the following. Ensure it only targets `n
</PropertyGroup>
```

In order to mitigate design-time/build-time performance issues with source generators, we generate build logic to allow the end user to disable the source generator from the package. By default, the MSBuild property an end user can set is named `Disable{PackageId}SourceGenerator`. If a package needs a custom property name, this can be overriden by setting the following property in the project that produces the package
In order to mitigate design-time/build-time performance issues with source generators, we generate build logic to allow the end user to disable the source generator from the package. By default, the MSBuild property an end user can set is named `Disable{PackageId}SourceGenerator`. If a package needs a custom property name, this can be overridden by setting the following property in the project that produces the package
```xml
<PropertyGroup>
<DisableSourceGeneratorPropertyName>CustomPropertyName</DisableSourceGeneratorPropertyName>
Expand All @@ -102,7 +102,7 @@ The infrastructure generates a targets file that throws a user readable Error wh
buildTransitive\net461\Microsoft.Extensions.Configuration.UserSecrets.targets <- This file is generated and throws an Error
buildTransitive\net462\_._
buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.UserSecrets.targets <- This file is generated and throws an Error
buildTransitive\net6.0\_._
buildTransitive\net6.0\_._
```

Whenever a library wants to author their own set of props and targets files (i.e. for source generators) and the above mentioned infrastructure kicks in (because the library targets .NETStandard), such files **must be included not only for the .NETStandard target framework but also for the specific minimum supported target frameworks**. The _.NETStandard Compatibility packaging infrastructure_ then omits the otherwise necessary placeholder files. Example:
Expand Down
4 changes: 2 additions & 2 deletions docs/design/coreclr/botr/readytorun-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -311,12 +311,12 @@ additional data determined by the flags.

#### Virtual override signatures

ECMA 335 does not have a natural encoding for describing an overriden method. These signatures are encoded as a ReadyToRunVirtualFunctionOverrideFlags byte, followed by a method signature representing the declaration method, a type signature representing the type which is being devirtualized, and (optionally) a method signature indicating the implementation method.
ECMA 335 does not have a natural encoding for describing an overridden method. These signatures are encoded as a ReadyToRunVirtualFunctionOverrideFlags byte, followed by a method signature representing the declaration method, a type signature representing the type which is being devirtualized, and (optionally) a method signature indicating the implementation method.

| ReadyToRunVirtualFunctionOverrideFlags | Value | Description
|:------------------------------------------------------|------:|:-----------
| READYTORUN_VIRTUAL_OVERRIDE_None | 0x00 | No flags are set
| READYTORUN_VIRTUAL_OVERRIDE_VirtualFunctionOverriden | 0x01 | If set, then the virtual function has an implementation, which is encoded in the optional method implementation signature.
| READYTORUN_VIRTUAL_OVERRIDE_VirtualFunctionOverridden | 0x01 | If set, then the virtual function has an implementation, which is encoded in the optional method implementation signature.

#### IL Body signatures

Expand Down
2 changes: 1 addition & 1 deletion docs/design/coreclr/jit/finally-optimizations.md
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ integrity of the handler table.

### Finally Cloning (Sketch)

Skip over all methods, if the runtime suports thread abort. More on
Skip over all methods, if the runtime supports thread abort. More on
this below.

Skip over methods that have no EH, are compiled with min opts, or
Expand Down
2 changes: 1 addition & 1 deletion docs/design/coreclr/jit/inline-size-estimates.md
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ there.

So we can now see why this particular case has such extreme
`SizeImpact`: the un-inlined call triggers frame creation and a fair
amount of shuffling to accomodate the potential side effects of the
amount of shuffling to accommodate the potential side effects of the
call.

#### Case 2: Typical Savings
Expand Down
2 changes: 1 addition & 1 deletion docs/design/coreclr/jit/variabletracking.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ The death of a variable is handled at the end of the last `BasicBlock` as variab

### Reporting Information

We just iterate throught all the `VariableLiveRange`s of all the variables that are tracked in `CodeGen::genSetScopeInfoUsingVariableRanges()`.
We just iterate through all the `VariableLiveRange`s of all the variables that are tracked in `CodeGen::genSetScopeInfoUsingVariableRanges()`.

Turning On Debug Info
--------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ class SigFormat : public SigParser
}

// sentinel indication the location of the "..." in the method signature
virtual void NotifySentinal()
virtual void NotifySentinel()
{
Print("...\n");
}
Expand Down Expand Up @@ -316,7 +316,7 @@ class SigFormat : public SigParser
}

// BUG BUG lower bounds can be negative, how can this be encoded?
// number of dimensions with specified lower bounds followed by lower bound of each
// number of dimensions with specified lower bounds followed by lower bound of each
virtual void NotifyNumLoBounds(sig_count count)
{
Print("Num Low Bounds: '%d'\n", count);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
// Sig ::= MethodDefSig | MethodRefSig | StandAloneMethodSig | FieldSig | PropertySig | LocalVarSig
// MethodDefSig ::= [[HASTHIS] [EXPLICITTHIS]] (DEFAULT|VARARG|GENERIC GenParamCount) ParamCount RetType Param*
// MethodRefSig ::= [[HASTHIS] [EXPLICITTHIS]] VARARG ParamCount RetType Param* [SENTINEL Param+]
// StandAloneMethodSig ::= [[HASTHIS] [EXPLICITTHIS]] (DEFAULT|VARARG|C|STDCALL|THISCALL|FASTCALL)
// StandAloneMethodSig ::= [[HASTHIS] [EXPLICITTHIS]] (DEFAULT|VARARG|C|STDCALL|THISCALL|FASTCALL)
// ParamCount RetType Param* [SENTINEL Param+]
// FieldSig ::= FIELD CustomMod* Type
// PropertySig ::= PROPERTY [HASTHIS] ParamCount CustomMod* Type Param*
// LocalVarSig ::= LOCAL_SIG Count (TYPEDBYREF | ([CustomMod] [Constraint])* [BYREF] Type)+
// LocalVarSig ::= LOCAL_SIG Count (TYPEDBYREF | ([CustomMod] [Constraint])* [BYREF] Type)+

// -------------

Expand All @@ -18,7 +18,7 @@
// Type ::= ( BOOLEAN | CHAR | I1 | U1 | U2 | U2 | I4 | U4 | I8 | U8 | R4 | R8 | I | U |
// | VALUETYPE TypeDefOrRefEncoded
// | CLASS TypeDefOrRefEncoded
// | STRING
// | STRING
// | OBJECT
// | PTR CustomMod* VOID
// | PTR CustomMod* Type
Expand Down Expand Up @@ -118,7 +118,7 @@ class SigParser
sig_byte *pbCur;
sig_byte *pbEnd;

public:
public:
bool Parse(sig_byte *blob, sig_count len);

private:
Expand Down Expand Up @@ -161,7 +161,7 @@ class SigParser
virtual void NotifyEndParam() {}

// sentinel indication the location of the "..." in the method signature
virtual void NotifySentinal() {}
virtual void NotifySentinel() {}

// number of generic parameters in this method signature (if any)
virtual void NotifyGenericParamCount(sig_count) {}
Expand Down Expand Up @@ -209,8 +209,8 @@ class SigParser
virtual void NotifySize(sig_count) {}

// BUG BUG lower bounds can be negative, how can this be encoded?
// number of dimensions with specified lower bounds followed by lower bound of each
virtual void NotifyNumLoBounds(sig_count) {}
// number of dimensions with specified lower bounds followed by lower bound of each
virtual void NotifyNumLoBounds(sig_count) {}
virtual void NotifyLoBound(sig_count) {}

//----------------------------------------------------
Expand Down Expand Up @@ -247,10 +247,10 @@ class SigParser
virtual void NotifyTypeGenericInst(sig_elem_type elem_type, sig_index_type indexType, sig_index index, sig_mem_number number) {}

// the type is the type of the nth generic type parameter for the class
virtual void NotifyTypeGenericTypeVariable(sig_mem_number number) {}
virtual void NotifyTypeGenericTypeVariable(sig_mem_number number) {}

// the type is the type of the nth generic type parameter for the member
virtual void NotifyTypeGenericMemberVariable(sig_mem_number number) {}
virtual void NotifyTypeGenericMemberVariable(sig_mem_number number) {}

// the type will be a value type
virtual void NotifyTypeValueType() {}
Expand Down Expand Up @@ -295,19 +295,19 @@ bool SigParser::Parse(sig_byte *pb, sig_count cbBuffer)
case SIG_METHOD_VARARG: // vararg calling convention
return ParseMethod(elem_type);
break;

case SIG_FIELD: // encodes a field
return ParseField(elem_type);
break;

case SIG_LOCAL_SIG: // used for the .locals directive
return ParseLocals(elem_type);
break;

case SIG_PROPERTY: // used to encode a property
return ParseProperty(elem_type);
break;

default:
// unknown signature
break;
Expand Down Expand Up @@ -347,7 +347,7 @@ bool SigParser::ParseMethod(sig_elem_type elem_type)
return false;
}

NotifyGenericParamCount(gen_param_count);
NotifyGenericParamCount(gen_param_count);
}

if (!ParseNumber(¶m_count))
Expand All @@ -362,7 +362,7 @@ bool SigParser::ParseMethod(sig_elem_type elem_type)
return false;
}

bool fEncounteredSentinal = false;
bool fEncounteredSentinel = false;

for (sig_count i = 0; i < param_count; i++)
{
Expand All @@ -373,13 +373,13 @@ bool SigParser::ParseMethod(sig_elem_type elem_type)

if (*pbCur == ELEMENT_TYPE_SENTINEL)
{
if (fEncounteredSentinal)
if (fEncounteredSentinel)
{
return false;
}

fEncounteredSentinal = true;
NotifySentinal();
fEncounteredSentinel = true;
NotifySentinel();
pbCur++;
}

Expand Down Expand Up @@ -458,7 +458,7 @@ bool SigParser::ParseProperty(sig_elem_type elem_type)

bool SigParser::ParseLocals(sig_elem_type elem_type)
{
// LocalVarSig ::= LOCAL_SIG Count (TYPEDBYREF | ([CustomMod] [Constraint])* [BYREF] Type)+
// LocalVarSig ::= LOCAL_SIG Count (TYPEDBYREF | ([CustomMod] [Constraint])* [BYREF] Type)+

NotifyBeginLocals(elem_type);

Expand Down Expand Up @@ -530,7 +530,7 @@ bool SigParser::ParseLocal()


bool SigParser::ParseOptionalCustomModsOrConstraint()
{
{
for (;;)
{
if (pbCur >= pbEnd)
Expand Down Expand Up @@ -579,7 +579,7 @@ bool SigParser::ParseOptionalCustomMods()
{
return false;
}
break;
break;

default:
return true;
Expand Down Expand Up @@ -698,7 +698,7 @@ bool SigParser::ParseRetType()
return false;
}

Success:
Success:
NotifyEndRetType();
return true;
}
Expand Down Expand Up @@ -753,15 +753,15 @@ bool SigParser::ParseArrayShape()
}

NotifyEndArrayShape();
return true;
return true;
}

bool SigParser::ParseType()
{
// Type ::= ( BOOLEAN | CHAR | I1 | U1 | U2 | U2 | I4 | U4 | I8 | U8 | R4 | R8 | I | U |
// | VALUETYPE TypeDefOrRefEncoded
// | CLASS TypeDefOrRefEncoded
// | STRING
// | STRING
// | OBJECT
// | PTR CustomMod* VOID
// | PTR CustomMod* Type
Expand All @@ -788,15 +788,15 @@ bool SigParser::ParseType()
case ELEMENT_TYPE_BOOLEAN:
case ELEMENT_TYPE_CHAR:
case ELEMENT_TYPE_I1:
case ELEMENT_TYPE_U1:
case ELEMENT_TYPE_U2:
case ELEMENT_TYPE_I2:
case ELEMENT_TYPE_I4:
case ELEMENT_TYPE_U4:
case ELEMENT_TYPE_I8:
case ELEMENT_TYPE_U8:
case ELEMENT_TYPE_R4:
case ELEMENT_TYPE_R8:
case ELEMENT_TYPE_U1:
case ELEMENT_TYPE_U2:
case ELEMENT_TYPE_I2:
case ELEMENT_TYPE_I4:
case ELEMENT_TYPE_U4:
case ELEMENT_TYPE_I8:
case ELEMENT_TYPE_U8:
case ELEMENT_TYPE_R4:
case ELEMENT_TYPE_R8:
case ELEMENT_TYPE_I:
case ELEMENT_TYPE_U:
case ELEMENT_TYPE_STRING:
Expand Down Expand Up @@ -835,7 +835,7 @@ bool SigParser::ParseType()

break;

case ELEMENT_TYPE_CLASS:
case ELEMENT_TYPE_CLASS:
// CLASS TypeDefOrRefEncoded
NotifyTypeClass();

Expand All @@ -844,10 +844,10 @@ bool SigParser::ParseType()
return false;
}

NotifyTypeDefOrRef(indexType, index);
NotifyTypeDefOrRef(indexType, index);
break;

case ELEMENT_TYPE_VALUETYPE:
case ELEMENT_TYPE_VALUETYPE:
//VALUETYPE TypeDefOrRefEncoded
NotifyTypeValueType();

Expand All @@ -856,7 +856,7 @@ bool SigParser::ParseType()
return false;
}

NotifyTypeDefOrRef(indexType, index);
NotifyTypeDefOrRef(indexType, index);
break;

case ELEMENT_TYPE_FNPTR:
Expand Down Expand Up @@ -1030,11 +1030,11 @@ bool SigParser::ParseNumber(sig_count *pOut)

// must be a 4 byte encoding

if ( (b1 & 0x20) != 0)
if ( (b1 & 0x20) != 0)
{
// 4 byte encoding has this bit clear -- error if not
return false;
}
}

if (!ParseByte(&b3))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ After a thread or asynchronous task completes, the `AsyncLocal<AssemblyLoadConte
```C#
/// <summary>Opaque disposable struct used to restore CurrentContextualReflectionContext</summary>
/// <remarks>
/// This is an implmentation detail of the AssemblyLoadContext.EnterContextualReflection APIs.
/// This is an implementation detail of the AssemblyLoadContext.EnterContextualReflection APIs.
/// It is a struct, to avoid heap allocation.
/// It is required to be public to avoid boxing.
/// <see cref="System.Runtime.Loader.AssemblyLoadContext.EnterContextualReflection"/>
Expand Down
2 changes: 1 addition & 1 deletion docs/design/features/assemblyloadcontext.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ This property will return a reference to the *Default LoadContext*.

### Load

This method should be overriden in a *Custom LoadContext* if the intent is to override the assembly resolution that would be done during fallback to *Default LoadContext*
This method should be overridden in a *Custom LoadContext* if the intent is to override the assembly resolution that would be done during fallback to *Default LoadContext*

### LoadFromAssemblyName

Expand Down
4 changes: 2 additions & 2 deletions docs/design/features/code-versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ Implementation

The implementation can be located in [codeversion.h](../../../src/coreclr/vm/codeversion.h) and [codeversion.cpp](../../../src/coreclr/vm/codeversion.cpp)

Code versions are embodied by the configuration in NativeCodeVersion structure as well as the configuration in the transitively reachable ILCodeVersion. NativeCodeVersion::GetILCodeVersion() allows trivial access from one part of the configuration to the other. These structures have various accesors to retrieve all the code and configuration data such as:
Code versions are embodied by the configuration in NativeCodeVersion structure as well as the configuration in the transitively reachable ILCodeVersion. NativeCodeVersion::GetILCodeVersion() allows trivial access from one part of the configuration to the other. These structures have various accessors to retrieve all the code and configuration data such as:

```
NativeCodeVersion::GetVersionId()
Expand Down Expand Up @@ -363,7 +363,7 @@ The runtime's current classification is:
Future roadmap possibilities
============================

A few (completely uncommited) thoughts on how this area of the code might evolve in the future, in no particular order:
A few (completely uncommitted) thoughts on how this area of the code might evolve in the future, in no particular order:

- Make the debugger configuration for EnC another explicit build pipeline stage. This seems most interesting to allow diagnostic tools that use profiler instrumentation to coexist with a live debugging session that is rewriting code using EnC.
- Add code version collection to save memory when certain code versions are no longer being used.
Expand Down
2 changes: 1 addition & 1 deletion docs/design/features/covariant-return-methods.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This feature allows an overriding method to have a return type that is different

Covariant return methods can only be described through MethodImpl records, and as an initial implementation will only be applicable to methods on reference types. Methods on interfaces and value types will not be supported (may be supported later in the future).

MethodImpl checking will allow a return type to vary as long as the override is compatible with the return type of the method overriden (ECMA I.8.7.1).
MethodImpl checking will allow a return type to vary as long as the override is compatible with the return type of the method overridden (ECMA I.8.7.1).

If a language wishes for the override to be semantically visible such that users of the more derived type may rely on the covariant return type it shall make the override a newslot method with appropriate visibility AND name to be used outside of the class.

Expand Down
6 changes: 3 additions & 3 deletions docs/design/features/cross-platform-cryptography.md
Original file line number Diff line number Diff line change
Expand Up @@ -313,9 +313,9 @@ On macOS the X509Store class is a projection of system trust decisions (read-onl
| Open LocalMachine\Disallowed (ReadOnly) | :white_check_mark: | `CryptographicException` | :white_check_mark: |
| Open LocalMachine\Disallowed (ReadWrite) | :white_check_mark: | `CryptographicException` | `CryptographicException` |
| Open LocalMachine\Disallowed (ExistingOnly) | :white_check_mark: | `CryptographicException` | :white_check_mark: (if ReadOnly) |
| Open non-existant store (ExistingOnly) | `CryptographicException` | `CryptographicException` | `CryptographicException` |
| Open CurrentUser non-existant store (ReadWrite) | :white_check_mark: | :white_check_mark: | `CryptographicException` |
| Open LocalMachine non-existant store (ReadWrite) | :white_check_mark: | `CryptographicException` | `CryptographicException` |
| Open non-existent store (ExistingOnly) | `CryptographicException` | `CryptographicException` | `CryptographicException` |
| Open CurrentUser non-existent store (ReadWrite) | :white_check_mark: | :white_check_mark: | `CryptographicException` |
| Open LocalMachine non-existent store (ReadWrite) | :white_check_mark: | `CryptographicException` | `CryptographicException` |

On Linux stores are created on first-write, and no user stores exist by default, so opening CurrentUser\My with ExistingOnly may fail.

Expand Down
Loading