diff --git a/src/coreclr/debug/daccess/daccess.cpp b/src/coreclr/debug/daccess/daccess.cpp index 2ff45fd348e30a..ea642cdc236429 100644 --- a/src/coreclr/debug/daccess/daccess.cpp +++ b/src/coreclr/debug/daccess/daccess.cpp @@ -3677,7 +3677,7 @@ ClrDataAccess::StartEnumAppDomains( EX_TRY { - // Only one app domain - use 1 to indicate there there is a next value + // Only one app domain - use 1 to indicate that there is a next value *handle = 1; status = S_OK; } diff --git a/src/coreclr/debug/daccess/inspect.cpp b/src/coreclr/debug/daccess/inspect.cpp index ec8356cf1f519d..ced1c55b112375 100644 --- a/src/coreclr/debug/daccess/inspect.cpp +++ b/src/coreclr/debug/daccess/inspect.cpp @@ -3555,7 +3555,7 @@ ClrDataTypeInstance::GetDefinition( // Instead, just use the same type handle. // XXX Microsoft - Generics issues? - // Question - what does the GetCl return return here? The underlying element type? + // Question - what does the GetCl return here? The underlying element type? // If so, we are lossing information. // defType = m_typeHandle; diff --git a/src/coreclr/debug/di/divalue.cpp b/src/coreclr/debug/di/divalue.cpp index 9645ee76526b37..0437cfbe5d0348 100644 --- a/src/coreclr/debug/di/divalue.cpp +++ b/src/coreclr/debug/di/divalue.cpp @@ -1250,7 +1250,7 @@ HRESULT CordbReferenceValue::Build(CordbAppDomain * appdomain, HRESULT hr = S_OK; // We can find the AD from an object handle (but not a normal object), so the AppDomain may - // be NULL if if it's an OH. + // be NULL if it's an OH. //_ASSERTE((appdomain != NULL) || objectRefsInHandles); // A reference, possibly to an object or value class diff --git a/src/coreclr/debug/di/process.cpp b/src/coreclr/debug/di/process.cpp index eb0f4ad5f1c262..d2c15ca6daff7c 100644 --- a/src/coreclr/debug/di/process.cpp +++ b/src/coreclr/debug/di/process.cpp @@ -3288,7 +3288,7 @@ HRESULT CordbProcess::Terminate(unsigned int exitCode) // Since we're currently holding the stop-go lock, that means we at least get some serialization. // // Note that on Windows, the process isn't really terminated until we receive the EXIT_PROCESS_DEBUG_EVENT. - // Before then, we can still still access the debuggee's address space. On the other, for Mac debugging, + // Before then, we can still access the debuggee's address space. On the other, for Mac debugging, // the process can die any time after this call, and so we can no longer call into the DAC. GetShim()->GetNativePipeline()->TerminateProcess(exitCode); @@ -5531,7 +5531,7 @@ void CordbProcess::RawDispatchEvent( } // This release may send an DB_IPCE_FUNC_EVAL_CLEANUP IPC event. That's ok b/c - // we're still synced even if if Continue was called inside the callback. + // we're still synced even if Continue was called inside the callback. // That's because the StopContinueHolder bumped up the stopcount. // Corresponding AddRef() in CallFunction(). // @todo - this is leaked if we don't get an EvalComplete event (eg, process exits with diff --git a/src/coreclr/debug/di/publish.cpp b/src/coreclr/debug/di/publish.cpp index 0a7bad24642885..f61d6bc8e1e365 100644 --- a/src/coreclr/debug/di/publish.cpp +++ b/src/coreclr/debug/di/publish.cpp @@ -716,7 +716,7 @@ HRESULT CorpubProcess::EnumAppDomains(ICorPublishAppDomainEnum **ppIEnum) } _ASSERTE(pADI != NULL); - // Collect all the AppDomain info info a list of CorpubAppDomains + // Collect all the AppDomain info into a list of CorpubAppDomains for (i = 0; i < tempBlock.m_iTotalSlots; i++) { if (!pADI[i].IsEmpty()) diff --git a/src/coreclr/debug/di/rspriv.h b/src/coreclr/debug/di/rspriv.h index 8ead72b678d57d..f01e1ead6a2045 100644 --- a/src/coreclr/debug/di/rspriv.h +++ b/src/coreclr/debug/di/rspriv.h @@ -4812,7 +4812,7 @@ class CordbType : public CordbBase, public ICorDebugType, public ICorDebugType2 // Create a type from metadata static HRESULT SigToType(CordbModule * pModule, SigParser * pSigParser, const Instantiation * pInst, CordbType ** ppResultType); - // Create a type from from the data received from the left-side + // Create a type from the data received from the left-side static HRESULT TypeDataToType(CordbAppDomain *appdomain, DebuggerIPCE_ExpandedTypeData *data, CordbType **pRes); static HRESULT TypeDataToType(CordbAppDomain *appdomain, DebuggerIPCE_BasicTypeData *data, CordbType **pRes); static HRESULT InstantiateFromTypeHandle(CordbAppDomain * appdomain, diff --git a/src/coreclr/debug/di/rsthread.cpp b/src/coreclr/debug/di/rsthread.cpp index 5edd2dbd36aa14..4473cf405082da 100644 --- a/src/coreclr/debug/di/rsthread.cpp +++ b/src/coreclr/debug/di/rsthread.cpp @@ -705,7 +705,7 @@ HRESULT CordbThread::SetDebugState(CorDebugThreadState state) if (SUCCEEDED(hr)) { - // This lets the debugger suspend / resume threads. This is only called when when the + // This lets the debugger suspend / resume threads. This is only called when the // target is already synchronized. That means all the threads are already suspended. So // setting the suspend bit here just means that the debugger's continue logic won't resume // this thread when we do a Continue. diff --git a/src/coreclr/debug/ee/debugger.cpp b/src/coreclr/debug/ee/debugger.cpp index b94e3258e1b231..61ada80ca3c551 100644 --- a/src/coreclr/debug/ee/debugger.cpp +++ b/src/coreclr/debug/ee/debugger.cpp @@ -7209,7 +7209,7 @@ void Debugger::EnsureDebuggerAttached(Thread * pThread, EXCEPTION_POINTERS * pEx // Note that this isn't all that bad because if the debugger hasn't actually detached // in the middle then the second jit attach will complete almost instantly and thread 2 // is unblocked. If the debugger did detach in the middle then it seems reasonable for - // thread 2 to continue to wait until until the debugger is attached once again for the + // thread 2 to continue to wait until the debugger is attached once again for the // second attach. Basically if one jit attach completes and restarts fast enough it might // just go unnoticed by some threads and it will be as if it never happened. Doesn't seem // that bad as long as we know another jit attach is again in progress. diff --git a/src/coreclr/debug/ee/debugger.h b/src/coreclr/debug/ee/debugger.h index a116c802e1ae35..571c82ac2d97e7 100644 --- a/src/coreclr/debug/ee/debugger.h +++ b/src/coreclr/debug/ee/debugger.h @@ -1681,7 +1681,7 @@ class MapSortIL : public CQuickSort { return 1; } - // call_instruction goes at the very very end of the table. + // call_instruction goes at the very end of the table. else if ((first->source & call_inst) == call_inst && (second->source & call_inst) == call_inst) { diff --git a/src/coreclr/debug/ee/frameinfo.cpp b/src/coreclr/debug/ee/frameinfo.cpp index 9193f90b6dc394..7f8e302fd54523 100644 --- a/src/coreclr/debug/ee/frameinfo.cpp +++ b/src/coreclr/debug/ee/frameinfo.cpp @@ -1157,7 +1157,7 @@ StackWalkAction TrackUMChain(CrawlFrame *pCF, DebuggerFrameData *d) // This check is probably unnecessary. The client of the debugger stackwalker should make // the decision themselves as to what to do with the UM chain callbacks. // - // -- INCORRECT SEE SEE "CORRECTION" BELOW -- + // -- INCORRECT SEE "CORRECTION" BELOW -- // Currently, both // ControllerStackInfo and InterceptorStackInfo ignore UM chains completely anyway. // (For an example, refer to the cctor example in the previous comment.) diff --git a/src/coreclr/debug/inc/dacdbiinterface.h b/src/coreclr/debug/inc/dacdbiinterface.h index ca36f58ff64392..3881eee03d63c9 100644 --- a/src/coreclr/debug/inc/dacdbiinterface.h +++ b/src/coreclr/debug/inc/dacdbiinterface.h @@ -2767,7 +2767,7 @@ class IDacDbiInterface { public: // - // Store a copy of of the provided string. + // Store a copy of the provided string. // // Arguments: // psz - The null-terminated unicode string to copy. diff --git a/src/coreclr/debug/inc/dacdbistructures.inl b/src/coreclr/debug/inc/dacdbistructures.inl index e31583faff589b..0e1d68587d4714 100644 --- a/src/coreclr/debug/inc/dacdbistructures.inl +++ b/src/coreclr/debug/inc/dacdbistructures.inl @@ -482,7 +482,7 @@ int SequencePoints::MapSortILMap::Compare(DebuggerILToNativeMap * first, { return 1; } - // call_instruction goes at the very very end of the table. + // call_instruction goes at the very end of the table. else if ((first->source & call_inst) == call_inst && (second->source & call_inst) == call_inst) { diff --git a/src/coreclr/ildasm/dasm.cpp b/src/coreclr/ildasm/dasm.cpp index 860b36f2e93666..da0bab27cedda6 100644 --- a/src/coreclr/ildasm/dasm.cpp +++ b/src/coreclr/ildasm/dasm.cpp @@ -886,7 +886,7 @@ void DumpMscorlib(void* GUICookie) // mdTypeDef tkObjectTypeDef = mdTypeDefNil; - // Lookup the type System.Object and see it it has a type definition in this assembly + // Lookup the type System.Object and see if it has a type definition in this assembly if (SUCCEEDED(g_pPubImport->FindTypeDefByName(W("System.Object"), mdTypeDefNil, &tkObjectTypeDef))) { if (tkObjectTypeDef != mdTypeDefNil) diff --git a/src/coreclr/inc/clrconfig.h b/src/coreclr/inc/clrconfig.h index f3e22d7ded16a4..689e459ab40b57 100644 --- a/src/coreclr/inc/clrconfig.h +++ b/src/coreclr/inc/clrconfig.h @@ -90,7 +90,7 @@ class CLRConfig #define CONFIG_STRING_INFO_EX(symbol, name, description, lookupOptions) #endif // _DEBUG - // Now that we have defined what what the macros in file:CLRConfigValues.h mean, include it to generate the code. + // Now that we have defined what the macros in file:CLRConfigValues.h mean, include it to generate the code. #include "clrconfigvalues.h" #undef RETAIL_CONFIG_DWORD_INFO diff --git a/src/coreclr/jit/compiler.cpp b/src/coreclr/jit/compiler.cpp index 3dd6a270d08cc5..e876b6940744dd 100644 --- a/src/coreclr/jit/compiler.cpp +++ b/src/coreclr/jit/compiler.cpp @@ -3865,7 +3865,7 @@ void Compiler::compSetOptimizationLevel() theMinOptsValue = true; } // For PREJIT we never drop down to MinOpts - // unless unless CLFLG_MINOPT is set + // unless CLFLG_MINOPT is set else if (!opts.jitFlags->IsSet(JitFlags::JIT_FLAG_PREJIT)) { if ((unsigned)JitConfig.JitMinOptsCodeSize() < info.compILCodeSize) @@ -3907,7 +3907,7 @@ void Compiler::compSetOptimizationLevel() #else // !DEBUG // Retail check if we should force Minopts due to the complexity of the method // For PREJIT we never drop down to MinOpts - // unless unless CLFLG_MINOPT is set + // unless CLFLG_MINOPT is set if (!theMinOptsValue && !opts.jitFlags->IsSet(JitFlags::JIT_FLAG_PREJIT) && ((DEFAULT_MIN_OPTS_CODE_SIZE < info.compILCodeSize) || (DEFAULT_MIN_OPTS_INSTR_COUNT < opts.instrCount) || (DEFAULT_MIN_OPTS_BB_COUNT < fgBBcount) || (DEFAULT_MIN_OPTS_LV_NUM_COUNT < lvaCount) || diff --git a/src/coreclr/jit/compiler.h b/src/coreclr/jit/compiler.h index 0d24478ae115d8..b520da739a40a6 100644 --- a/src/coreclr/jit/compiler.h +++ b/src/coreclr/jit/compiler.h @@ -215,14 +215,14 @@ class LclSsaVarDsc // The SSA number associated with the previous definition for partial (GTF_USEASG) defs. unsigned m_useDefSsaNum = SsaConfig::RESERVED_SSA_NUM; // Number of uses of this SSA def (may be an over-estimate). - // May not be accurate for for promoted fields. + // May not be accurate for promoted fields. unsigned short m_numUses = 0; // True if there may be phi args uses of this def - // May not be accurate for for promoted fields. + // May not be accurate for promoted fields. // (false implies all uses are non-phi). bool m_hasPhiUse = false; // True if there may be uses of the def in a different block. - // May not be accurate for for promoted fields. + // May not be accurate for promoted fields. bool m_hasGlobalUse = false; public: @@ -5267,7 +5267,7 @@ class Compiler protected: bool fgReachable(BasicBlock* b1, BasicBlock* b2); // Returns true if block b1 can reach block b2 - // Compute immediate dominators, the dominator tree and and its pre/post-order travsersal numbers. + // Compute immediate dominators, the dominator tree and its pre/post-order travsersal numbers. void fgComputeDoms(); void fgCompDominatedByExceptionalEntryBlocks(); diff --git a/src/coreclr/jit/emit.cpp b/src/coreclr/jit/emit.cpp index 7e3c6501399c68..65673956ed77fc 100644 --- a/src/coreclr/jit/emit.cpp +++ b/src/coreclr/jit/emit.cpp @@ -985,7 +985,7 @@ insGroup* emitter::emitSavIG(bool emitAdd) if (!emitAdd) { - // Update the previous recorded live GC ref sets, but not if if we are + // Update the previous recorded live GC ref sets, but not if we are // starting an "overflow" buffer. Note that this is only used to // determine whether we need to store or not store the GC ref sets for // the next IG, which is dependent on exactly what the state of the diff --git a/src/coreclr/jit/fgdiagnostic.cpp b/src/coreclr/jit/fgdiagnostic.cpp index 2968d808895934..4201618f41dbb6 100644 --- a/src/coreclr/jit/fgdiagnostic.cpp +++ b/src/coreclr/jit/fgdiagnostic.cpp @@ -642,7 +642,7 @@ FILE* Compiler::fgOpenFlowGraphFile(bool* wbDontClose, Phases phase, PhasePositi sprintf_s((char*)filename, charCount, FILENAME_PATTERN, escapedString, phasePositionString, phaseName, tierName, type); } - fgxFile = fopen(filename, "wx"); // Open the file for writing only only if it doesn't already exist + fgxFile = fopen(filename, "wx"); // Open the file for writing only if it doesn't already exist if (fgxFile == nullptr) { // This filename already exists, so create a different one by appending ~2, ~3, etc... diff --git a/src/coreclr/jit/fgopt.cpp b/src/coreclr/jit/fgopt.cpp index 480739ea693376..d2d870718b010f 100644 --- a/src/coreclr/jit/fgopt.cpp +++ b/src/coreclr/jit/fgopt.cpp @@ -4124,7 +4124,7 @@ bool Compiler::fgOptimizeBranch(BasicBlock* bJump) } // - // We we are ngen-ing: + // We are ngen-ing: // If the uncondional branch is a rarely run block then // we are willing to have more code expansion since we // won't be running code from this page diff --git a/src/coreclr/jit/fgprofile.cpp b/src/coreclr/jit/fgprofile.cpp index 745bbe1ff7c54d..71ae36b97c4a79 100644 --- a/src/coreclr/jit/fgprofile.cpp +++ b/src/coreclr/jit/fgprofile.cpp @@ -3802,7 +3802,7 @@ void EfficientEdgeCountReconstructor::PropagateEdges(BasicBlock* block, BlockInf return; } - // We may not have have the same number of model edges and flow edges. + // We may not have the same number of model edges and flow edges. // // This can happen because bome BBJ_LEAVE blocks may have been missed during // our spanning tree walk since we don't know where all the finallies can return diff --git a/src/coreclr/jit/hwintrinsiccodegenxarch.cpp b/src/coreclr/jit/hwintrinsiccodegenxarch.cpp index 3121ab11ca86ab..c79a82a326d83d 100644 --- a/src/coreclr/jit/hwintrinsiccodegenxarch.cpp +++ b/src/coreclr/jit/hwintrinsiccodegenxarch.cpp @@ -1920,7 +1920,7 @@ void CodeGen::genAvxFamilyIntrinsic(GenTreeHWIntrinsic* node) emitAttr kmovAttr = EA_4BYTE; // TODO-XARCH-AVX512 note that this type/kmov combination assumes 512-bit vector types but would change - // if used for other vector lengths, i.e., TYPE_BYTE requires kmovq for for 512-bit vector, but kmovd + // if used for other vector lengths, i.e., TYPE_BYTE requires kmovq for 512-bit vector, but kmovd // for 256-bit vector. switch (baseType) { diff --git a/src/coreclr/jit/importer.cpp b/src/coreclr/jit/importer.cpp index 8d040a82d1210f..fcb0a23bedc31a 100644 --- a/src/coreclr/jit/importer.cpp +++ b/src/coreclr/jit/importer.cpp @@ -3087,7 +3087,7 @@ void Compiler::impImportAndPushBox(CORINFO_RESOLVED_TOKEN* pResolvedToken) // Spill any special side effects impSpillSpecialSideEff(); - // Get get the expression to box from the stack. + // Get the expression to box from the stack. GenTree* op1 = nullptr; GenTree* op2 = nullptr; StackEntry se = impPopStack(); diff --git a/src/coreclr/jit/importercalls.cpp b/src/coreclr/jit/importercalls.cpp index eb67240252e6ae..27c39b4b331bc4 100644 --- a/src/coreclr/jit/importercalls.cpp +++ b/src/coreclr/jit/importercalls.cpp @@ -7153,7 +7153,7 @@ void Compiler::impDevirtualizeCall(GenTreeCall* call, // So, revise the box to simply create a local copy, use the address of that copy // as the this pointer, and update the entry point to the unboxed entry. // - // Ideally, we then inline the boxed method and and if it turns out not to modify + // Ideally, we then inline the boxed method and if it turns out not to modify // the copy, we can undo the copy too. GenTree* localCopyThis = nullptr; diff --git a/src/coreclr/jit/indirectcalltransformer.cpp b/src/coreclr/jit/indirectcalltransformer.cpp index 8b0318b935c82b..261167d815245c 100644 --- a/src/coreclr/jit/indirectcalltransformer.cpp +++ b/src/coreclr/jit/indirectcalltransformer.cpp @@ -1089,7 +1089,7 @@ class IndirectCallTransformer JITDUMP("Hot pred block is " FMT_BB " and cold pred block is " FMT_BB "\n", hotBlock->bbNum, coldBlock->bbNum); - // Clone and and copy the statements in the check block up to + // Clone and copy the statements in the check block up to // and including lastStmt over to the hot block. // // This will be the "hot" copy of the code. diff --git a/src/coreclr/jit/lir.h b/src/coreclr/jit/lir.h index 5cdead7e9383bf..1957e279a0ac51 100644 --- a/src/coreclr/jit/lir.h +++ b/src/coreclr/jit/lir.h @@ -92,7 +92,7 @@ class LIR final // // View the block as a range // LIR::Range& blockRange = LIR::AsRange(block); // - // // Create a read only range from from it. + // // Create a read only range from it. // LIR::ReadOnlyRange readRange = blockRange; // // // Remove the last node from the block diff --git a/src/coreclr/jit/lowerxarch.cpp b/src/coreclr/jit/lowerxarch.cpp index 4cd240e0bd786d..6ebaa895566f91 100644 --- a/src/coreclr/jit/lowerxarch.cpp +++ b/src/coreclr/jit/lowerxarch.cpp @@ -597,7 +597,7 @@ void Lowering::LowerPutArgStk(GenTreePutArgStk* putArgStk) // For the case where we cannot directly push the value, if we run out of registers, // it would be better to defer computation until we are pushing the arguments rather // than spilling, but this situation is not all that common, as most cases of FIELD_LIST - // are promoted structs, which do not not have a large number of fields, and of those + // are promoted structs, which do not have a large number of fields, and of those // most are lclVars or copy-propagated constants. fieldNode->SetRegOptional(); @@ -1769,7 +1769,7 @@ GenTree* Lowering::LowerHWIntrinsicCmpOp(GenTreeHWIntrinsic* node, genTreeOps cm // // However, if we have less than 8 elements then we have to change it up since we have less // than 8 bits in the output mask and unused bits will be set to 0. This occurs for 32-bit - // for Vector128 and and 64-bit elements when using either Vector128 or Vector256. + // for Vector128 and 64-bit elements when using either Vector128 or Vector256. // // To account for this, we will invert the comparison being done. So if the user wants // `x == y`, we will instead emit `mask = (x != y)`, we will still emit `kortest mask, mask`, diff --git a/src/coreclr/jit/lsra.h b/src/coreclr/jit/lsra.h index e058a8be85255d..e7b44cd1c68267 100644 --- a/src/coreclr/jit/lsra.h +++ b/src/coreclr/jit/lsra.h @@ -1692,7 +1692,7 @@ class LinearScan : public LinearScanInterface // Locals that are currently placed in registers via PUTARG_REG. These // locals are available due to the special PUTARG treatment, and we keep // track of them between the PUTARG_REG and CALL to ensure we keep the - // register they are placed in in the preference set. + // register they are placed in the preference set. PlacedLocal placedArgLocals[REG_COUNT]; size_t numPlacedArgLocals; diff --git a/src/coreclr/jit/lsraarm64.cpp b/src/coreclr/jit/lsraarm64.cpp index 1d22c1972c0aa6..e40624d955c69d 100644 --- a/src/coreclr/jit/lsraarm64.cpp +++ b/src/coreclr/jit/lsraarm64.cpp @@ -970,7 +970,7 @@ int LinearScan::BuildNode(GenTree* tree) } // For ARMv8 exclusives the lifetime of the addr and data must be extended because - // it may be used used multiple during retries + // it may be used multiple during retries // For ARMv8.1 atomic cas the lifetime of the addr and data must be extended to prevent // them being reused as the target register which must be destroyed early @@ -984,7 +984,7 @@ int LinearScan::BuildNode(GenTree* tree) RefPosition* comparandUse = BuildUse(tree->AsCmpXchg()->gtOpComparand); // For ARMv8 exclusives the lifetime of the comparand must be extended because - // it may be used used multiple during retries + // it may be used multiple during retries if (!compiler->compOpportunisticallyDependsOn(InstructionSet_Atomics)) { setDelayFree(comparandUse); @@ -1031,7 +1031,7 @@ int LinearScan::BuildNode(GenTree* tree) } // For ARMv8 exclusives the lifetime of the addr and data must be extended because - // it may be used used multiple during retries + // it may be used multiple during retries if (!compiler->compOpportunisticallyDependsOn(InstructionSet_Atomics)) { // Internals may not collide with target diff --git a/src/coreclr/jit/smallhash.h b/src/coreclr/jit/smallhash.h index f16905c995fbd4..0252b233a0b205 100644 --- a/src/coreclr/jit/smallhash.h +++ b/src/coreclr/jit/smallhash.h @@ -573,7 +573,7 @@ class HashTableBase //------------------------------------------------------------------------ // HashTableBase::Remove: removes a key from the hash table and asserts - // that it did exist in the the table. + // that it did exist in the table. // // Arguments: // key - The key to remove from the table. diff --git a/src/coreclr/jit/utils.cpp b/src/coreclr/jit/utils.cpp index 93a8292e07ab94..efd2dfb644489a 100644 --- a/src/coreclr/jit/utils.cpp +++ b/src/coreclr/jit/utils.cpp @@ -873,7 +873,7 @@ void ConfigMethodRange::InitRanges(const WCHAR* rangeStr, unsigned capacity) lastRange++; } - // If we didn't parse the full range string, note index of the the + // If we didn't parse the full range string, note index of the // first bad char. if ((m_badChar != 0) && (*p != 0)) { diff --git a/src/coreclr/jit/valuenum.cpp b/src/coreclr/jit/valuenum.cpp index 0e53adf01f8489..6a7b6cf1a21b26 100644 --- a/src/coreclr/jit/valuenum.cpp +++ b/src/coreclr/jit/valuenum.cpp @@ -816,7 +816,7 @@ int ValueNumStore::EvalComparison(VNFunc vnf, double v0, double v1) { // Here we handle specialized double comparisons. - // We must check for a NaN argument as they they need special handling + // We must check for a NaN argument as they need special handling bool hasNanArg = (_isnan(v0) || _isnan(v1)); if (vnf < VNF_Boundary) @@ -880,7 +880,7 @@ int ValueNumStore::EvalComparison(VNFunc vnf, float v0, float v1) { // Here we handle specialized float comparisons. - // We must check for a NaN argument as they they need special handling + // We must check for a NaN argument as they need special handling bool hasNanArg = (_isnanf(v0) || _isnanf(v1)); if (vnf < VNF_Boundary) diff --git a/src/coreclr/nativeaot/Runtime/CachedInterfaceDispatch.cpp b/src/coreclr/nativeaot/Runtime/CachedInterfaceDispatch.cpp index 2d62acfeba764d..cd8fb329374368 100644 --- a/src/coreclr/nativeaot/Runtime/CachedInterfaceDispatch.cpp +++ b/src/coreclr/nativeaot/Runtime/CachedInterfaceDispatch.cpp @@ -118,7 +118,7 @@ static void * UpdatePointerPairAtomically(void * pPairLocation, if (iUpdatedOldValue == iOldValue) { // Successful update. Return the previous value of the second pointer. For cache entry updates - // (fFailOnNonNull == true) this is guaranteed to be NULL in this case and the result being being + // (fFailOnNonNull == true) this is guaranteed to be NULL in this case and the result being // NULL in the success case is all the caller cares about. For indirection cell updates the second // pointer represents the old cache and the caller needs this data so they can schedule the cache // for deletion once it becomes safe to do so. diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeConstructedGenericTypeInfo.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeConstructedGenericTypeInfo.cs index d950ead65f6522..6f906cb9cca1dc 100644 --- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeConstructedGenericTypeInfo.cs +++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeConstructedGenericTypeInfo.cs @@ -203,7 +203,7 @@ protected sealed override int InternalGetHashCode() // Default implementation returns null which causes the Declared*** properties to return no members. // // Note that this does not apply to DeclaredNestedTypes. Nested types and their containers have completely separate generic instantiation environments - // (despite what C# might lead you to think.) Constructed generic types return the exact same same nested types that its generic type definition does + // (despite what C# might lead you to think.) Constructed generic types return the exact same nested types that its generic type definition does // - i.e. their DeclaringTypes refer back to the generic type definition, not the constructed generic type.) // // Note also that we cannot use this anchoring concept for base types because of generic parameters. Generic parameters return diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeNamedTypeInfo.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeNamedTypeInfo.cs index 2cf33b679cc782..847f0b09073bdd 100644 --- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeNamedTypeInfo.cs +++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeNamedTypeInfo.cs @@ -161,7 +161,7 @@ public sealed override StructLayoutAttribute StructLayoutAttribute // Default implementation returns null which causes the Declared*** properties to return no members. // // Note that this does not apply to DeclaredNestedTypes. Nested types and their containers have completely separate generic instantiation environments - // (despite what C# might lead you to think.) Constructed generic types return the exact same same nested types that its generic type definition does + // (despite what C# might lead you to think.) Constructed generic types return the exact same nested types that its generic type definition does // - i.e. their DeclaringTypes refer back to the generic type definition, not the constructed generic type.) // // Note also that we cannot use this anchoring concept for base types because of generic parameters. Generic parameters return diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeTypeInfo.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeTypeInfo.cs index 746b5374db40ef..9a707cc3f71d55 100644 --- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeTypeInfo.cs +++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/TypeInfos/RuntimeTypeInfo.cs @@ -601,7 +601,7 @@ protected sealed override bool IsValueTypeImpl() // Default implementation returns null which causes the Declared*** properties to return no members. // // Note that this does not apply to DeclaredNestedTypes. Nested types and their containers have completely separate generic instantiation environments - // (despite what C# might lead you to think.) Constructed generic types return the exact same same nested types that its generic type definition does + // (despite what C# might lead you to think.) Constructed generic types return the exact same nested types that its generic type definition does // - i.e. their DeclaringTypes refer back to the generic type definition, not the constructed generic type.) // // Note also that we cannot use this anchoring concept for base types because of generic parameters. Generic parameters return diff --git a/src/coreclr/pal/src/configure.cmake b/src/coreclr/pal/src/configure.cmake index 63e67f2997539d..cb5ec71fb627f3 100644 --- a/src/coreclr/pal/src/configure.cmake +++ b/src/coreclr/pal/src/configure.cmake @@ -1040,7 +1040,7 @@ if(NOT CLR_CMAKE_HOST_ARCH_ARM AND NOT CLR_CMAKE_HOST_ARCH_ARM64) set(CMAKE_REQUIRED_LIBRARIES pthread) check_cxx_source_runs(" // This test case verifies the pthread process-shared robust mutex's cross-process abandon detection. The parent process starts - // a child process that locks the mutex, the process process then waits to acquire the lock, and the child process abandons the + // a child process that locks the mutex, the process then waits to acquire the lock, and the child process abandons the // mutex by exiting the process while holding the lock. The parent process should then be released from its wait, be assigned // ownership of the lock, and be notified that the mutex was abandoned. diff --git a/src/coreclr/pal/src/thread/thread.cpp b/src/coreclr/pal/src/thread/thread.cpp index 0daa011e6fc636..368ed57fd5701f 100644 --- a/src/coreclr/pal/src/thread/thread.cpp +++ b/src/coreclr/pal/src/thread/thread.cpp @@ -641,7 +641,7 @@ CorUnix::InternalCreateThread( // Adjust the stack size to a minimum value that is likely to be accepted by pthread_attr_setstacksize(). If this // function fails, typically the caller will end up throwing OutOfMemoryException under the assumption that the // requested stack size is too large or the system does not have sufficient memory to create a thread. Try to - // prevent failing just just because the stack size value is too low. + // prevent failing just because the stack size value is too low. alignedStackSize = MinStackSize; } diff --git a/src/coreclr/tools/Common/Compiler/InstructionSetSupport.cs b/src/coreclr/tools/Common/Compiler/InstructionSetSupport.cs index f2805e09ab2305..551daaf43f2b7c 100644 --- a/src/coreclr/tools/Common/Compiler/InstructionSetSupport.cs +++ b/src/coreclr/tools/Common/Compiler/InstructionSetSupport.cs @@ -181,7 +181,7 @@ private static Dictionary ComputeInstructSetSupportForAr var support = new Dictionary(); foreach (var instructionSet in InstructionSetFlags.ArchitectureToValidInstructionSets(architecture)) { - // Only instruction sets with associated R2R enum values are are specifiable + // Only instruction sets with associated R2R enum values are specifiable if (instructionSet.Specifiable) support.Add(instructionSet.Name, instructionSet.InstructionSet); } @@ -194,7 +194,7 @@ private static InstructionSetFlags ComputeNonSpecifiableInstructionSetSupportFor var support = new InstructionSetFlags(); foreach (var instructionSet in InstructionSetFlags.ArchitectureToValidInstructionSets(architecture)) { - // Only instruction sets with associated R2R enum values are are specifiable + // Only instruction sets with associated R2R enum values are specifiable if (!instructionSet.Specifiable) support.AddInstructionSet(instructionSet.InstructionSet); } diff --git a/src/coreclr/utilcode/clrconfig.cpp b/src/coreclr/utilcode/clrconfig.cpp index 8ea705a917e830..b08b674fae09c3 100644 --- a/src/coreclr/utilcode/clrconfig.cpp +++ b/src/coreclr/utilcode/clrconfig.cpp @@ -400,7 +400,7 @@ namespace #define CONFIG_STRING_INFO_EX(symbol, name, description, lookupOptions) #endif // _DEBUG - // Now that we have defined what what the macros in file:../inc/CLRConfigValues.h mean, include it to generate the code. + // Now that we have defined what the macros in file:../inc/CLRConfigValues.h mean, include it to generate the code. #include "clrconfigvalues.h" #undef RETAIL_CONFIG_DWORD_INFO diff --git a/src/coreclr/utilcode/pedecoder.cpp b/src/coreclr/utilcode/pedecoder.cpp index a919a9d1e0aa02..f74befb5dc6441 100644 --- a/src/coreclr/utilcode/pedecoder.cpp +++ b/src/coreclr/utilcode/pedecoder.cpp @@ -1473,7 +1473,7 @@ CHECK PEDecoder::CheckILOnlyImportDlls() const CHECK(pID != NULL); PREFIX_ASSUME(pID != NULL); - // Entry 0: ILT, Name, IAT must be be non-null. Forwarder, DateTime should be NULL. + // Entry 0: ILT, Name, IAT must be non-null. Forwarder, DateTime should be NULL. CHECK( IMAGE_IMPORT_DESC_FIELD(pID[0], Characteristics) != 0 && pID[0].TimeDateStamp == 0 && (pID[0].ForwarderChain == 0 || pID[0].ForwarderChain == static_cast(-1)) @@ -2607,7 +2607,7 @@ BOOL PEDecoder::ForceRelocForDLL(LPCWSTR lpFileName) // Reserve the space so nobody can use it. A potential bug is likely to // result in a plain AV this way. It is not a good idea to use the original - // mapping for the reservation since since it would lock the file on the disk. + // mapping for the reservation since it would lock the file on the disk. if (!ClrVirtualAlloc(pPreferredBase, nVirtualSize, MEM_RESERVE, PAGE_NOACCESS)) goto ErrExit; diff --git a/src/coreclr/vm/appdomain.cpp b/src/coreclr/vm/appdomain.cpp index c11627614ea07c..c0a48ea3dd74f0 100644 --- a/src/coreclr/vm/appdomain.cpp +++ b/src/coreclr/vm/appdomain.cpp @@ -1515,7 +1515,7 @@ bool SystemDomain::IsReflectionInvocationMethod(MethodDesc* pMeth) if (pMeth->IsLCGMethod()) { // Even if a user-created DynamicMethod uses the same naming convention, it will likely not - // get here since since DynamicMethods by default are created in a special (non-system) module. + // get here since DynamicMethods by default are created in a special (non-system) module. // If this is not sufficient for conflict prevention, we can create a new private module. return (strncmp(pMeth->GetName(), "InvokeStub_", ARRAY_SIZE("InvokeStub_") - 1) == 0); } diff --git a/src/coreclr/vm/class.cpp b/src/coreclr/vm/class.cpp index faf9483aa45ab9..6d59e36d11d9c5 100644 --- a/src/coreclr/vm/class.cpp +++ b/src/coreclr/vm/class.cpp @@ -490,7 +490,7 @@ HRESULT EEClass::AddField(MethodTable* pMT, mdFieldDef fieldDef, FieldDesc** ppN continue; // For instance fields we only update instantiations of the generic MethodTable we updated above. - // For static fields we update the the canonical version and instantiations. + // For static fields we update the canonical version and instantiations. MethodTable* pMTMaybe = th.AsMethodTable(); if ((!isStaticField && !pMTMaybe->IsCanonicalMethodTable()) || !pMT->HasSameTypeDefAs(pMTMaybe)) diff --git a/src/coreclr/vm/clsload.cpp b/src/coreclr/vm/clsload.cpp index 06775e004629d6..f6bee108b1471e 100644 --- a/src/coreclr/vm/clsload.cpp +++ b/src/coreclr/vm/clsload.cpp @@ -4592,7 +4592,7 @@ BOOL ClassLoader::CanAccessClass( // True if access is legal, break; case tdNestedFamORAssem: // If we can access the class because we have assembly or friend access, we have satisfied the - // FamORAssem accessibility, so we we can simplify it down to public. Otherwise we require that + // FamORAssem accessibility, so we can simplify it down to public. Otherwise we require that // family access be allowed to grant access. case tdNestedFamANDAssem: // If we don't grant assembly or friend access to the target class, then there is no way we diff --git a/src/coreclr/vm/encee.cpp b/src/coreclr/vm/encee.cpp index 56500271314b57..8264d88a04764b 100644 --- a/src/coreclr/vm/encee.cpp +++ b/src/coreclr/vm/encee.cpp @@ -1056,7 +1056,7 @@ PTR_EnCEEClassData EditAndContinueModule::GetEnCEEClassData(MethodTable * pMT, B } #ifndef DACCESS_COMPILE - // Create a new entry and add it to the end our our table + // Create a new entry and add it to the end of our table EnCEEClassData *pNewData = (EnCEEClassData*)(void*)pMT->GetLoaderAllocator()->GetLowFrequencyHeap()->AllocMem_NoThrow(S_SIZE_T(sizeof(EnCEEClassData))); pNewData->Init(pMT); ppData = loaderModule->m_ClassList.Append(); diff --git a/src/coreclr/vm/exceptionhandling.cpp b/src/coreclr/vm/exceptionhandling.cpp index d960b68729c9e9..62825db22b0ed6 100644 --- a/src/coreclr/vm/exceptionhandling.cpp +++ b/src/coreclr/vm/exceptionhandling.cpp @@ -4594,7 +4594,7 @@ VOID DECLSPEC_NORETURN UnwindManagedExceptionPass1(PAL_SEHException& ex, CONTEXT *ex.GetContextRecord() = *frameContext; // Move the exception address to the first managed frame on the stack except for the hardware exceptions - // stemming from from a native code out of the well known runtime helpers + // stemming from a native code out of the well known runtime helpers if (!ex.IsExternal) { ex.GetExceptionRecord()->ExceptionAddress = (VOID*)controlPc; diff --git a/src/coreclr/vm/exstate.h b/src/coreclr/vm/exstate.h index cc3d25a76f1cb3..9819f727b36ea6 100644 --- a/src/coreclr/vm/exstate.h +++ b/src/coreclr/vm/exstate.h @@ -238,7 +238,7 @@ class ThreadExceptionState Thread* pThread); friend class Thread; - // It it the following method that needs to be a friend. But the prototype pulls in a lot more stuff, + // It is the following method that needs to be a friend. But the prototype pulls in a lot more stuff, // so just make the Thread class a friend. // friend StackWalkAction Thread::StackWalkFramesEx(PREGDISPLAY pRD, PSTACKWALKFRAMESCALLBACK pCallback, // VOID *pData, unsigned flags, Frame *pStartFrame); diff --git a/src/coreclr/vm/gccover.cpp b/src/coreclr/vm/gccover.cpp index da612b72d52873..7ac7971e37e99a 100644 --- a/src/coreclr/vm/gccover.cpp +++ b/src/coreclr/vm/gccover.cpp @@ -1350,7 +1350,7 @@ BOOL OnGcCoverageInterrupt(PCONTEXT regs) // PInvoke stub, a method that has an inline PInvoke frame, // or be in a reverse PInvoke stub that's about to return. // - // The PInvoke cases should should properly report GC refs if we + // The PInvoke cases should properly report GC refs if we // trigger GC here. But a reverse PInvoke stub may over-report // leading to spurious failures, as we would not normally report // anything for this method at this point. diff --git a/src/coreclr/vm/hosting.cpp b/src/coreclr/vm/hosting.cpp index 3482781620be80..0b27b0c0f8bf47 100644 --- a/src/coreclr/vm/hosting.cpp +++ b/src/coreclr/vm/hosting.cpp @@ -134,7 +134,7 @@ BOOL ClrVirtualProtect(LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWO // // Below, we double check that: // - // 1) the address being protected does not lie in the region of of the UEF. + // 1) the address being protected does not lie in the region of the UEF. // 2) the section after UEF is not having the same memory protection as UEF section. // // We assert if either of the two conditions above are true. diff --git a/src/coreclr/vm/jithelpers.cpp b/src/coreclr/vm/jithelpers.cpp index d4ce2c9aa69ac6..105d0255ad73af 100644 --- a/src/coreclr/vm/jithelpers.cpp +++ b/src/coreclr/vm/jithelpers.cpp @@ -3387,7 +3387,7 @@ CORINFO_GENERIC_HANDLE JIT_GenericHandleWorker(MethodDesc * pMD, MethodTable * p } // Add the normalized key (pDeclaringMT) here so that future lookups of any - // inherited types are faster next time rather than just just for this specific pMT. + // inherited types are faster next time rather than just for this specific pMT. JitGenericHandleCacheKey key((CORINFO_CLASS_HANDLE)pDeclaringMT, (CORINFO_METHOD_HANDLE)pMD, signature, pDictDomain); AddToGenericHandleCache(&key, (HashDatum)result); } diff --git a/src/coreclr/vm/methodtable.h b/src/coreclr/vm/methodtable.h index e506299d9cd7ff..930b5026e0c68f 100644 --- a/src/coreclr/vm/methodtable.h +++ b/src/coreclr/vm/methodtable.h @@ -2971,7 +2971,7 @@ public : // NOTE: Use of these APIs are unlocked and may appear to be erroneous. However, since calls // to ProcessMap will result in identical values being placed in the MethodDataObjectEntry - // array, it it is not a problem if there is a race, since one thread may just end up + // array, it is not a problem if there is a race, since one thread may just end up // doing some duplicate work. inline UINT32 GetNextChainDepth() diff --git a/src/coreclr/vm/methodtablebuilder.cpp b/src/coreclr/vm/methodtablebuilder.cpp index 2a8d775ba57deb..f80ac561e7e4a7 100644 --- a/src/coreclr/vm/methodtablebuilder.cpp +++ b/src/coreclr/vm/methodtablebuilder.cpp @@ -7635,7 +7635,7 @@ MethodTableBuilder::PlaceInterfaceMethods() // and possibly partially implemented, so we need to populate the // bmtInterfaceSlotImpl table for this interface with the implementation slot // information. - // 2 .The the interface has not been declared on the parent, + // 2 .The interface has not been declared on the parent, // but an equivalent interface has been. So we need to populate the // bmtInterfaceSlotImpl table for this interface with the implementation slot // information from one of the parent equivalent interfaces. We may or may not @@ -10790,7 +10790,7 @@ MethodTableBuilder::SetupMethodTable2( pMT->SetCl(GetCl()); // The type is sufficiently initialized for most general purpose accessor methods to work. - // Mark the type as restored to avoid avoid asserts. Note that this also enables IBC logging. + // Mark the type as restored to avoid asserts. Note that this also enables IBC logging. pMT->GetWriteableDataForWrite_NoLogging()->SetIsRestoredForBuildMethodTable(); #ifdef _DEBUG diff --git a/src/coreclr/vm/stackwalk.cpp b/src/coreclr/vm/stackwalk.cpp index 6abe943c47b4c4..fc603ad982329f 100644 --- a/src/coreclr/vm/stackwalk.cpp +++ b/src/coreclr/vm/stackwalk.cpp @@ -2860,7 +2860,7 @@ void StackFrameIterator::ProcessCurrentFrame(void) } else { - // we stop stop at the no-frame transition + // we stop at the no-frame transition m_frameState = SFITER_NO_FRAME_TRANSITION; m_crawl.isNoFrameTransition = true; m_crawl.taNoFrameTransitionMarker = pContextSP; diff --git a/src/coreclr/vm/threads.cpp b/src/coreclr/vm/threads.cpp index 6312d08b06d565..9687a517894128 100644 --- a/src/coreclr/vm/threads.cpp +++ b/src/coreclr/vm/threads.cpp @@ -4957,7 +4957,7 @@ Thread::ApartmentState Thread::SetApartment(ApartmentState state) // Important note: For Win2k and above this can return AS_InMTA even if the current // thread has never been CoInitialized. Because of this we MUST NOT look at the // return value of GetApartment here. We can however look at the m_State flags - // since these will only be set to TS_InMTA if we know for a fact the the + // since these will only be set to TS_InMTA if we know for a fact that the // current thread has explicitly been made MTA (via a call to CoInitializeEx). GetApartment(); diff --git a/src/coreclr/vm/threadsuspend.cpp b/src/coreclr/vm/threadsuspend.cpp index e7414425ece2d9..416fe75531131a 100644 --- a/src/coreclr/vm/threadsuspend.cpp +++ b/src/coreclr/vm/threadsuspend.cpp @@ -4249,7 +4249,7 @@ bool Thread::SysStartSuspendForDebug(AppDomain *pAppDomain) if (!UseContextBasedThreadRedirection()) { - // There'a a race above between the moment we first check m_fPreemptiveGCDisabled + // There's a race above between the moment we first check m_fPreemptiveGCDisabled // and the moment we enable TrapReturningThreads in MarkForSuspension. However, // nothing bad happens if the thread has transitioned to preemptive before marking // the thread for suspension; the thread will later be identified as Synced in @@ -4283,7 +4283,7 @@ bool Thread::SysStartSuspendForDebug(AppDomain *pAppDomain) thread->MarkForSuspension(TS_DebugSuspendPending); if ( - // There'a a race above between the moment we first check m_fPreemptiveGCDisabled + // There's a race above between the moment we first check m_fPreemptiveGCDisabled // and the moment we enable TrapReturningThreads in MarkForSuspension. To account // for that we check whether the thread moved into cooperative mode, and if it had // we mark it as a DebugWillSync thread, that will be handled later in diff --git a/src/libraries/Common/tests/System/Net/Sockets/SocketTestExtensions.cs b/src/libraries/Common/tests/System/Net/Sockets/SocketTestExtensions.cs index 1e252f0d6d6dbb..49268c8221bcea 100644 --- a/src/libraries/Common/tests/System/Net/Sockets/SocketTestExtensions.cs +++ b/src/libraries/Common/tests/System/Net/Sockets/SocketTestExtensions.cs @@ -148,7 +148,7 @@ public void Dispose() } // Socket.Bind() auto-enables SO_REUSEADDR on Unix to allow Bind() during TIME_WAIT to emulate Windows behavior, see SystemNative_Bind() in 'pal_networking.c'. - // To prevent other sockets from succesfully binding to the same port port, we need to avoid this logic when binding the shadow socket. + // To prevent other sockets from succesfully binding to the same port, we need to avoid this logic when binding the shadow socket. // This method is doing a custom P/Invoke to bind() on Unix to achieve that. private static unsafe bool TryBindWithoutReuseAddress(Socket socket, IPEndPoint endPoint, out int port) { diff --git a/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationExtensions.cs b/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationExtensions.cs index 77ac387d096077..2e9985e2c61034 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationExtensions.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationExtensions.cs @@ -76,7 +76,7 @@ public static IConfigurationBuilder SetFileLoadExceptionHandler(this IConfigurat /// Gets a default action to be invoked for file-based providers when an error occurs. /// /// The . - /// The The Action to be invoked on a file load exception, if set. + /// The Action to be invoked on a file load exception, if set. public static Action? GetFileLoadExceptionHandler(this IConfigurationBuilder builder) { ThrowHelper.ThrowIfNull(builder); diff --git a/src/libraries/System.Data.Common/src/System/Data/LinqDataView.cs b/src/libraries/System.Data.Common/src/System/Data/LinqDataView.cs index 9b9c7e2eadce79..74bfe4e8e2f031 100644 --- a/src/libraries/System.Data.Common/src/System/Data/LinqDataView.cs +++ b/src/libraries/System.Data.Common/src/System/Data/LinqDataView.cs @@ -12,7 +12,7 @@ namespace System.Data { /// - /// Represents a bindable, queryable DataView of DataRow, that can be created from from LINQ queries over DataTable + /// Represents a bindable, queryable DataView of DataRow, that can be created from LINQ queries over DataTable /// and from DataTable. /// internal sealed class LinqDataView : DataView, IBindingList, IBindingListView diff --git a/src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcParameterCollectionHelper.cs b/src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcParameterCollectionHelper.cs index 213e90ca37f27a..1900f6c9c04abf 100644 --- a/src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcParameterCollectionHelper.cs +++ b/src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcParameterCollectionHelper.cs @@ -314,7 +314,7 @@ private void Validate(int index, object value) if (0 == name.Length) { index = 1; - // When adding N parameters with autogenerated names, if we start at index 1 then then + // When adding N parameters with autogenerated names, if we start at index 1 then // kth parameter will have to try indices 1..k before finding one that hasn't been used. // We can improve the common case by starting at index = k + 1. // See https://github.com/dotnet/runtime/issues/28693 diff --git a/src/libraries/System.Data.OleDb/src/UnsafeNativeMethods.cs b/src/libraries/System.Data.OleDb/src/UnsafeNativeMethods.cs index 8238379f701054..702667e7392d4e 100644 --- a/src/libraries/System.Data.OleDb/src/UnsafeNativeMethods.cs +++ b/src/libraries/System.Data.OleDb/src/UnsafeNativeMethods.cs @@ -781,7 +781,7 @@ internal unsafe delegate int IUnknownQueryInterface( // dangerous delegate around IDataInitialize::GetDataSource (4th vtable entry) [SuppressUnmanagedCodeSecurity] internal unsafe delegate System.Data.OleDb.OleDbHResult IDataInitializeGetDataSource( - IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI + IntPtr pThis, // first parameter is always the 'this' value, must use result from QI IntPtr pUnkOuter, int dwClsCtx, char* pwszInitializationString, @@ -791,12 +791,12 @@ internal unsafe delegate System.Data.OleDb.OleDbHResult IDataInitializeGetDataSo // dangerous wrapper around IDBInitialize::Initialize (4th vtable entry) [SuppressUnmanagedCodeSecurity] internal delegate System.Data.OleDb.OleDbHResult IDBInitializeInitialize( - IntPtr pThis); // first parameter is always the 'this' value, must use use result from QI + IntPtr pThis); // first parameter is always the 'this' value, must use result from QI // dangerous wrapper around IDBCreateSession::CreateSession (4th vtable entry) [SuppressUnmanagedCodeSecurity] internal unsafe delegate System.Data.OleDb.OleDbHResult IDBCreateSessionCreateSession( - IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI + IntPtr pThis, // first parameter is always the 'this' value, must use result from QI IntPtr pUnkOuter, Guid* riid, IntPtr* ppDBSession); @@ -804,7 +804,7 @@ internal unsafe delegate System.Data.OleDb.OleDbHResult IDBCreateSessionCreateSe // dangerous wrapper around IDBCreateCommand::CreateCommand (4th vtable entry) [SuppressUnmanagedCodeSecurity] internal unsafe delegate System.Data.OleDb.OleDbHResult IDBCreateCommandCreateCommand( - IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI + IntPtr pThis, // first parameter is always the 'this' value, must use result from QI IntPtr pUnkOuter, Guid* riid, IntPtr* ppCommand); diff --git a/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs b/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs index 2370d07afbfbfb..d99f4fecbfb236 100644 --- a/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs +++ b/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs @@ -1099,7 +1099,7 @@ public void StartInfo_TextFile_ShellExecute() const string fileExtension = ".dotnetRuntimeTestExtension"; // associate Notepad with the new extension FileAssociations.EnsureAssociationSet(fileExtension, "Used For Testing ShellExecute", "notepad.exe", "Notepad"); - // from here we can try to open with with given extension and be sure that Notepad is going to open it (not other text file editor like Notepad++) + // from here we can try to open with the given extension and be sure that Notepad is going to open it (not other text file editor like Notepad++) string tempFile = GetTestFilePath() + fileExtension; File.WriteAllText(tempFile, $"StartInfo_TextFile_ShellExecute"); diff --git a/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc64.Vectorized.cs b/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc64.Vectorized.cs index 095bbce58ae46b..2556f6560a4964 100644 --- a/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc64.Vectorized.cs +++ b/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc64.Vectorized.cs @@ -21,7 +21,7 @@ private static Vector128 LoadFromSource(ref byte source, nuint elementOff // Reverse the byte order. // SSSE3 is required to get PSHUFB acceleration for Vector128.Shuffle on x86/x64. - // However, the gains from vectorizing the rest of the operations seem to to be + // However, the gains from vectorizing the rest of the operations seem to be // greater than the added cost of emulating the shuffle, so we don't require SSSE3 support. vector = Vector128.Shuffle(vector, Vector128.Create((byte)0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/HttpHandlerDefaults.cs b/src/libraries/System.Net.Http/src/System/Net/Http/HttpHandlerDefaults.cs index 85ff8c7f4dd6d1..0322a02438a655 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/HttpHandlerDefaults.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/HttpHandlerDefaults.cs @@ -6,7 +6,7 @@ namespace System.Net.Http { /// - /// Additional default values used used only in this assembly. + /// Additional default values used only in this assembly. /// internal static partial class HttpHandlerDefaults { diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2StreamWindowManager.cs b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2StreamWindowManager.cs index e5dd33aa9fd361..aa5c1948e60cdc 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2StreamWindowManager.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2StreamWindowManager.cs @@ -140,7 +140,7 @@ private void AdjustWindowDynamic(int bytesConsumed, Http2Stream stream) // to avoid triggering the server's PING flood protection which may result in an unexpected GOAWAY. // With most servers we are fine to send PINGs, as long as we are reading their data, this rule is well formalized for gRPC: // https://github.com/grpc/proposal/blob/master/A8-client-side-keepalive.md - // As a rule of thumb, we can send send a PING whenever we receive DATA or HEADERS, however, there are some servers which allow receiving only + // As a rule of thumb, we can send a PING whenever we receive DATA or HEADERS, however, there are some servers which allow receiving only // a limited amount of PINGs within a given timeframe. // To deal with the conflicting requirements: // - We send an initial burst of 'InitialBurstCount' PINGs, to get a relatively good estimation fast diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs index d79d7233f39078..e1a94631332860 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs @@ -1793,7 +1793,7 @@ private ValueTask ReadBufferedAsync(Memory destination) // If the caller provided buffer, and thus the amount of data desired to be read, // is larger than the internal buffer, there's no point going through the internal // buffer, so just do an unbuffered read. - // Also avoid avoid using the internal buffer if the user requested a zero-byte read to allow + // Also avoid using the internal buffer if the user requested a zero-byte read to allow // underlying streams to efficiently handle such a read (e.g. SslStream defering buffer allocation). return destination.Length >= _readBuffer.Capacity || destination.Length == 0 ? ReadAsync(destination) : diff --git a/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/ResettableValueTaskSource.cs b/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/ResettableValueTaskSource.cs index e7c0cf87bfd5d8..77cf3d9a190dc2 100644 --- a/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/ResettableValueTaskSource.cs +++ b/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/ResettableValueTaskSource.cs @@ -194,7 +194,7 @@ private bool TryComplete(Exception? exception, bool final) } finally { - // Un-root the the kept alive object in all cases. + // Un-root the kept alive object in all cases. if (_keepAlive.IsAllocated) { _keepAlive.Free(); diff --git a/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/ValueTaskSource.cs b/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/ValueTaskSource.cs index a6e40dbf7ea8ae..eca1d556542cf9 100644 --- a/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/ValueTaskSource.cs +++ b/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/ValueTaskSource.cs @@ -55,7 +55,7 @@ public bool TryInitialize(out ValueTask valueTask, object? keepAlive = null, Can { lock (this) { - // Set up value task either way, so the the caller can get the result even if they do not start the operation. + // Set up value task either way, so the caller can get the result even if they do not start the operation. valueTask = new ValueTask(this, _valueTaskSource.Version); // Cancellation might kick off synchronously, re-entering the lock and changing the state to completed. diff --git a/src/libraries/System.Private.CoreLib/src/System/ArgumentOutOfRangeException.cs b/src/libraries/System.Private.CoreLib/src/System/ArgumentOutOfRangeException.cs index 45ae63f81cfe65..9e2bddcfee8dd1 100644 --- a/src/libraries/System.Private.CoreLib/src/System/ArgumentOutOfRangeException.cs +++ b/src/libraries/System.Private.CoreLib/src/System/ArgumentOutOfRangeException.cs @@ -215,7 +215,7 @@ public static void ThrowIfLessThan(T value, T other, [CallerArgumentExpressio } /// Throws an if is less than or equal . - /// The argument to validate as greatar than than . + /// The argument to validate as greater than . /// The value to compare with . /// The name of the parameter with which corresponds. public static void ThrowIfLessThanOrEqual(T value, T other, [CallerArgumentExpression(nameof(value))] string? paramName = null) diff --git a/src/libraries/System.Private.CoreLib/src/System/DateTime.cs b/src/libraries/System.Private.CoreLib/src/System/DateTime.cs index a17912657ecbb8..0b4bf5c4fe5dae 100644 --- a/src/libraries/System.Private.CoreLib/src/System/DateTime.cs +++ b/src/libraries/System.Private.CoreLib/src/System/DateTime.cs @@ -1970,7 +1970,7 @@ public string[] GetDateTimeFormats(IFormatProvider? provider) } // Returns a string array containing all of the date and time options for the - // given format format and current culture. The strings returned are properly formatted date and + // given format and current culture. The strings returned are properly formatted date and // time strings for the current instance of DateTime. public string[] GetDateTimeFormats(char format) { @@ -1978,7 +1978,7 @@ public string[] GetDateTimeFormats(char format) } // Returns a string array containing all of the date and time options for the - // given format format and given culture. The strings returned are properly formatted date and + // given format and given culture. The strings returned are properly formatted date and // time strings for the current instance of DateTime. public string[] GetDateTimeFormats(char format, IFormatProvider? provider) { diff --git a/src/libraries/System.Private.CoreLib/src/System/GCMemoryInfo.cs b/src/libraries/System.Private.CoreLib/src/System/GCMemoryInfo.cs index 59cce34d7d4038..022dd0bdd09210 100644 --- a/src/libraries/System.Private.CoreLib/src/System/GCMemoryInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/GCMemoryInfo.cs @@ -134,7 +134,7 @@ internal GCMemoryInfo(GCMemoryInfoData data) /// Let's take the example below: /// | OBJ_A | OBJ_B | OBJ_C | OBJ_D | OBJ_E | /// - /// Let's say OBJ_B, OBJ_C and and OBJ_E are garbage and get collected, but the heap does not get compacted, the resulting heap will look like the following: + /// Let's say OBJ_B, OBJ_C and OBJ_E are garbage and get collected, but the heap does not get compacted, the resulting heap will look like the following: /// | OBJ_A | F | OBJ_D | /// /// The memory between OBJ_A and OBJ_D marked `F` is considered part of the FragmentedBytes, and will be used to allocate new objects. The memory after OBJ_D will not be diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs index 05bb9f758883d0..365d776bc60a9d 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs @@ -1545,7 +1545,7 @@ public override bool Equals([NotNullWhen(true)] object? value) public override int GetHashCode() => Name.GetHashCode(); /// - /// This method performs the equivalent of of creating a Sortkey for a string from CompareInfo, + /// This method performs the equivalent of creating a Sortkey for a string from CompareInfo, /// then generates a randomized hashcode value from the sort key. /// /// The hash code is guaranteed to be the same for string A and B where A.Equals(B) is true and both diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs index 8b518113018c43..2a4fcdd0090a2a 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs @@ -744,7 +744,7 @@ private static bool Lex(DS dps, ref __DTString str, scoped ref DateTimeToken dto dtok.suffix = sep; break; default: - // Invalid separator after number number. + // Invalid separator after number. result.SetBadDateTimeFailure(); LexTraceExit("0040 (Invalid separator after number)", dps); return false; @@ -866,7 +866,7 @@ private static bool Lex(DS dps, ref __DTString str, scoped ref DateTimeToken dto raw.AddNumber(dtok.num); break; default: - // Invalid separator after number number. + // Invalid separator after number. result.SetBadDateTimeFailure(); LexTraceExit("0080", dps); return false; @@ -904,7 +904,7 @@ private static bool Lex(DS dps, ref __DTString str, scoped ref DateTimeToken dto } goto default; default: - // Invalid separator after number number. + // Invalid separator after number. result.SetBadDateTimeFailure(); LexTraceExit("0090", dps); return false; @@ -912,7 +912,7 @@ private static bool Lex(DS dps, ref __DTString str, scoped ref DateTimeToken dto } else { - // Invalid separator after number number. + // Invalid separator after number. result.SetBadDateTimeFailure(); LexTraceExit("0100", dps); return false; @@ -953,7 +953,7 @@ private static bool Lex(DS dps, ref __DTString str, scoped ref DateTimeToken dto } break; default: - // Invalid separator after number number. + // Invalid separator after number. result.SetBadDateTimeFailure(); LexTraceExit("0110", dps); return false; diff --git a/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs b/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs index 740ec52a78b90c..735e1b7bff81df 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs @@ -1606,7 +1606,7 @@ internal static (int Exponent, ulong Mantissa) ComputeFloat(long q, ulong w, Flo return (exponent, mantissa); } - // usually, we round *up*, but if we fall right in between and and we have an + // usually, we round *up*, but if we fall right in between and we have an // even basis, we need to round down // We are only concerned with the cases where 5**q fits in single 64-bit word. if ((product.low <= 1) && (q >= info.MinExponentRoundToEven) && (q <= info.MaxExponentRoundToEven) && diff --git a/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector2.cs b/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector2.cs index e57dee217803ff..ce911794c24773 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector2.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector2.cs @@ -88,7 +88,7 @@ public static Vector2 UnitY /// Gets or sets the element at the specified index. /// The index of the element to get or set. - /// The the element at . + /// The element at . /// was less than zero or greater than the number of elements. public float this[int index] { diff --git a/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector3.cs b/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector3.cs index c4739ce80502c5..3e4c4798d562c0 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector3.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector3.cs @@ -109,7 +109,7 @@ public static Vector3 UnitZ /// Gets or sets the element at the specified index. /// The index of the element to get or set. - /// The the element at . + /// The element at . /// was less than zero or greater than the number of elements. public float this[int index] { diff --git a/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector4.cs b/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector4.cs index 831b4f50d2556f..f5af5fde427f52 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector4.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Numerics/Vector4.cs @@ -132,7 +132,7 @@ public static Vector4 UnitW /// Gets or sets the element at the specified index. /// The index of the element to get or set. - /// The the element at . + /// The element at . /// was less than zero or greater than the number of elements. public float this[int index] { diff --git a/src/libraries/System.Private.CoreLib/src/System/Reflection/ModifiedType.cs b/src/libraries/System.Private.CoreLib/src/System/Reflection/ModifiedType.cs index 9ab42fdc11d251..8efc0969f62141 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Reflection/ModifiedType.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Reflection/ModifiedType.cs @@ -66,7 +66,7 @@ public override Type[] GetOptionalCustomModifiers() } // Modified types do not support Equals. That would need to include custom modifiers and any parameterized types recursively. - // UnderlyingSystemType.Equals() should should be used if basic equality is necessary. + // UnderlyingSystemType.Equals() should be used if basic equality is necessary. public override bool Equals([NotNullWhen(true)] object? obj) => throw new NotSupportedException(SR.NotSupported_ModifiedType); public override bool Equals(Type? other) => throw new NotSupportedException(SR.NotSupported_ModifiedType); public override int GetHashCode() => throw new NotSupportedException(SR.NotSupported_ModifiedType); diff --git a/src/libraries/System.Private.CoreLib/src/System/String.Comparison.cs b/src/libraries/System.Private.CoreLib/src/System/String.Comparison.cs index 66b9432dfe24fd..6c6307ea182b28 100644 --- a/src/libraries/System.Private.CoreLib/src/System/String.Comparison.cs +++ b/src/libraries/System.Private.CoreLib/src/System/String.Comparison.cs @@ -332,7 +332,7 @@ public static int Compare(string? strA, int indexA, string? strB, int indexB, in } // Determines whether two string regions match. The substring of strA beginning - // at indexA of length length is compared with the substring of strB + // at indexA of length is compared with the substring of strB // beginning at indexB of the same length. Case sensitivity is determined by the ignoreCase boolean, // and the culture is set by culture. // @@ -343,7 +343,7 @@ public static int Compare(string? strA, int indexA, string? strB, int indexB, in } // Determines whether two string regions match. The substring of strA beginning - // at indexA of length length is compared with the substring of strB + // at indexA of length is compared with the substring of strB // beginning at indexB of the same length. // public static int Compare(string? strA, int indexA, string? strB, int indexB, int length, CultureInfo? culture, CompareOptions options) diff --git a/src/libraries/System.Private.CoreLib/src/System/TimeZoneInfo.Win32.cs b/src/libraries/System.Private.CoreLib/src/System/TimeZoneInfo.Win32.cs index c748b9afa609ae..794d2bcf8799b4 100644 --- a/src/libraries/System.Private.CoreLib/src/System/TimeZoneInfo.Win32.cs +++ b/src/libraries/System.Private.CoreLib/src/System/TimeZoneInfo.Win32.cs @@ -738,7 +738,7 @@ private static bool TryCompareTimeZoneInformationToRegistry(in TIME_ZONE_INFORMA /// Try to find the time zone resources Dll matching the CurrentUICulture or one of its parent cultures. /// We try to check of such resource module e.g. %windir%\system32\[UI Culture Name]\tzres.dll.mui exist. /// If a localized resource file exists, we LoadString resource with the id specified inside resource input - /// string and and return it to our caller. + /// string and return it to our caller. /// private static string GetLocalizedNameByMuiNativeResource(string resource) { diff --git a/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoFunctionPointerType.cs b/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoFunctionPointerType.cs index 73cd87437551f6..938eb52a117dee 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoFunctionPointerType.cs +++ b/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoFunctionPointerType.cs @@ -109,7 +109,7 @@ public sealed override int GetHashCode() public sealed override bool Equals([NotNullWhen(true)] Type? type) => Equals((object?)type); public sealed override bool Equals([NotNullWhen(true)] object? obj) { - // Treat as an unmodified type; do not not include the modified type values including + // Treat as an unmodified type; do not include the modified type values including // calling conventions and custom modifiers. if (obj is not RoFunctionPointerType other) diff --git a/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoModifiedType.cs b/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoModifiedType.cs index afb9c79952ccfe..7a877940f4e122 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoModifiedType.cs +++ b/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoModifiedType.cs @@ -111,7 +111,7 @@ public override Type[] GetOptionalCustomModifiers() public override Type UnderlyingSystemType => _unmodifiedType; // Modified types do not support Equals. That would need to include custom modifiers and any parameterized types recursively. - // UnderlyingSystemType.Equals() should should be used if basic equality is necessary. + // UnderlyingSystemType.Equals() should be used if basic equality is necessary. public override bool Equals([NotNullWhen(true)] object? obj) => throw new NotSupportedException(SR.NotSupported_ModifiedType); public override bool Equals(Type? other) => throw new NotSupportedException(SR.NotSupported_ModifiedType); public override int GetHashCode() => throw new NotSupportedException(SR.NotSupported_ModifiedType); diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs index 912232c4c61a84..e5d93b4ed3d746 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs @@ -360,7 +360,7 @@ private static ImmutableArray GroupComContextsFor } // Due to how the source generator driver processes the input item tables and our limitation that methods on COM interfaces can only be defined in a single partial definition of the type, - // we can guarantee that, if the interface contexts are in order of I1, I2, I3, I4..., then then method contexts are ordered as follows: + // we can guarantee that, if the interface contexts are in order of I1, I2, I3, I4..., then method contexts are ordered as follows: // - I1.M1 // - I1.M2 // - I1.M3 diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/Shake128.Windows.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/Shake128.Windows.cs index 9dbf75d311cabb..ca3d77350c160f 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/Shake128.Windows.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/Shake128.Windows.cs @@ -6,7 +6,7 @@ namespace System.Security.Cryptography public sealed partial class Shake128 : IDisposable { // Windows doesn't expose SHAKE. It exposes cSHAKE. But SHAKE is just cSHAKE with an empty - // customization string (S) and and function name (N). (See FIPS 180-185 Paragraph 3.2) + // customization string (S) and function name (N). (See FIPS 180-185 Paragraph 3.2) // In Windows terms, SHAKE is cSHAKE with an empty BCRYPT_FUNCTION_NAME_STRING and // BCRYPT_CUSTOMIZATION_STRING. // So for SHAKE, we create a cSHAKE instance and don't specify S or N. diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/Shake256.Windows.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/Shake256.Windows.cs index a12b0bd66bb16c..2b7469fa49544c 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/Shake256.Windows.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/Shake256.Windows.cs @@ -6,7 +6,7 @@ namespace System.Security.Cryptography public sealed partial class Shake256 : IDisposable { // Windows doesn't expose SHAKE. It exposes cSHAKE. But SHAKE is just cSHAKE with an empty - // customization string (S) and and function name (N). (See FIPS 180-185 Paragraph 3.2) + // customization string (S) and function name (N). (See FIPS 180-185 Paragraph 3.2) // In Windows terms, SHAKE is cSHAKE with an empty BCRYPT_FUNCTION_NAME_STRING and // BCRYPT_CUSTOMIZATION_STRING. // So for SHAKE, we create a cSHAKE instance and don't specify S or N. diff --git a/src/libraries/System.Security.Cryptography/tests/RandomNumberGeneratorTests.cs b/src/libraries/System.Security.Cryptography/tests/RandomNumberGeneratorTests.cs index 38f3068e469e9f..5a025201e79d0d 100644 --- a/src/libraries/System.Security.Cryptography/tests/RandomNumberGeneratorTests.cs +++ b/src/libraries/System.Security.Cryptography/tests/RandomNumberGeneratorTests.cs @@ -852,7 +852,7 @@ public static void Shuffle_Ten() public static IEnumerable GetHexStringLengths() { - // These lengths exercise various aspects of the the hex generator. + // These lengths exercise various aspects of the hex generator. // Fill an individual character (I) if the length is odd. // Fill the remaining in block (B) sizes of 64 bytes, or 128 hex characters. diff --git a/src/libraries/System.Security.Principal.Windows/src/System/Security/Principal/WindowsIdentity.cs b/src/libraries/System.Security.Principal.Windows/src/System/Security/Principal/WindowsIdentity.cs index aed268b36067a3..9dc5aeb5ae907c 100644 --- a/src/libraries/System.Security.Principal.Windows/src/System/Security/Principal/WindowsIdentity.cs +++ b/src/libraries/System.Security.Principal.Windows/src/System/Security/Principal/WindowsIdentity.cs @@ -415,7 +415,7 @@ public TokenImpersonationLevel ImpersonationLevel { get { - // In case of a race condition here here, both threads will set m_impersonationLevel to the same value, + // In case of a race condition here, both threads will set m_impersonationLevel to the same value, // which is ok. if (!_impersonationLevelInitialized) { diff --git a/src/libraries/System.ServiceProcess.ServiceController/src/System/ServiceProcess/ServiceController.cs b/src/libraries/System.ServiceProcess.ServiceController/src/System/ServiceProcess/ServiceController.cs index 0c1a487b26f734..1f36fa9655ab34 100644 --- a/src/libraries/System.ServiceProcess.ServiceController/src/System/ServiceProcess/ServiceController.cs +++ b/src/libraries/System.ServiceProcess.ServiceController/src/System/ServiceProcess/ServiceController.cs @@ -19,7 +19,7 @@ public class ServiceController : Component private string _machineName; // Never null private const string DefaultMachineName = "."; - // Note that ServiceType currently does not include all of SERVICE_TYPE_ALL; see see Interop.Advapi32.ServiceTypeOptions + // Note that ServiceType currently does not include all of SERVICE_TYPE_ALL; see Interop.Advapi32.ServiceTypeOptions private const int AllServiceTypes = (int)(ServiceType.Adapter | ServiceType.FileSystemDriver | ServiceType.InteractiveProcess | ServiceType.KernelDriver | ServiceType.RecognizerDriver | ServiceType.Win32OwnProcess | ServiceType.Win32ShareProcess); diff --git a/src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/CustomConverterTests/CustomConverterTests.ReadAhead.cs b/src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/CustomConverterTests/CustomConverterTests.ReadAhead.cs index 98949675ee4e78..356c3068e0d03a 100644 --- a/src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/CustomConverterTests/CustomConverterTests.ReadAhead.cs +++ b/src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/CustomConverterTests/CustomConverterTests.ReadAhead.cs @@ -190,7 +190,7 @@ public static void ReadAheadFromArray(int stringSize) string json = builder.ToString(); var options = new JsonSerializerOptions(); - // No customer converters registered; the built-in string converter converter will be used. + // No customer converters registered; the built-in string converter will be used. // Ensure buffer size is small as possible for read-ahead. options.DefaultBufferSize = 1; diff --git a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/SymbolicRegexKind.cs b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/SymbolicRegexKind.cs index bc01b913f7ce63..7a24297bc13c89 100644 --- a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/SymbolicRegexKind.cs +++ b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/SymbolicRegexKind.cs @@ -74,7 +74,7 @@ internal enum SymbolicRegexNodeKind CaptureEnd, /// - /// This node disables backtracking simulation in derivatives for the pattern it contains. This is used for the the + /// This node disables backtracking simulation in derivatives for the pattern it contains. This is used for the /// second reverse phase of the match generation algorithm, where its needed to ensure all paths are considered when /// walking backwards from a known final state. /// diff --git a/src/libraries/System.Transactions.Local/src/System/Transactions/Oletx/OletxTransaction.cs b/src/libraries/System.Transactions.Local/src/System/Transactions/Oletx/OletxTransaction.cs index 753a52211ec0a9..33c7c12c10d867 100644 --- a/src/libraries/System.Transactions.Local/src/System/Transactions/Oletx/OletxTransaction.cs +++ b/src/libraries/System.Transactions.Local/src/System/Transactions/Oletx/OletxTransaction.cs @@ -645,7 +645,7 @@ internal RealOletxTransaction( // Connect this object with the OutcomeEnlistment. InternalClone = new OletxTransaction( this ); - // We have have been created without an outcome enlistment if it was too late to create + // We have been created without an outcome enlistment if it was too late to create // a clone from the ITransactionNative that we were created from. if (_outcomeEnlistment != null) { diff --git a/src/mono/System.Private.CoreLib/src/System/RuntimeType.Mono.cs b/src/mono/System.Private.CoreLib/src/System/RuntimeType.Mono.cs index e34b3788e76a8e..945314d5dc23e9 100644 --- a/src/mono/System.Private.CoreLib/src/System/RuntimeType.Mono.cs +++ b/src/mono/System.Private.CoreLib/src/System/RuntimeType.Mono.cs @@ -1656,7 +1656,7 @@ private void UpdateCached(TypeCacheEntries entry) TypeCache cache = Cache; int oldCached = cache.Cached; int newCached = oldCached | (int)entry; - // This CAS will ensure ordering with the the store into the cache + // This CAS will ensure ordering with the store into the cache // If this fails, we will just take the slowpath again Interlocked.CompareExchange(ref cache.Cached, newCached, oldCached); } diff --git a/src/mono/System.Private.CoreLib/src/System/TypeIdentifier.cs b/src/mono/System.Private.CoreLib/src/System/TypeIdentifier.cs index 2d1e78073a5a7f..8c1a88eb7ca1d5 100644 --- a/src/mono/System.Private.CoreLib/src/System/TypeIdentifier.cs +++ b/src/mono/System.Private.CoreLib/src/System/TypeIdentifier.cs @@ -52,7 +52,7 @@ string DisplayName } // A type identifier is a single component of a type name. - // Unlike a general typename, a type identifier can be be + // Unlike a general typename, a type identifier can be // converted to internal form without loss of information. internal interface ITypeIdentifier : ITypeName { diff --git a/src/mono/mono/mini/interp/interp.c b/src/mono/mono/mini/interp/interp.c index 384994bd79bca9..77338bca58777d 100644 --- a/src/mono/mono/mini/interp/interp.c +++ b/src/mono/mono/mini/interp/interp.c @@ -8524,7 +8524,7 @@ interp_jit_info_foreach (InterpJitInfoFunc func, gpointer user_data) InterpCopyJitInfoFuncUserData copy_jit_info_data; // Can't keep memory manager lock while iterating and calling callback since it might take other locks // causing poential deadlock situations. Instead, create copy of interpreter imethod jinfo pointers into - // plain array and use pointers from array when when running callbacks. + // plain array and use pointers from array when running callbacks. copy_jit_info_data.size = mono_atomic_load_i32 (&(jit_mm->interp_code_hash.num_entries)); copy_jit_info_data.next = 0; copy_jit_info_data.jit_info_array = (MonoJitInfo**) g_new (MonoJitInfo*, copy_jit_info_data.size); diff --git a/src/mono/mono/mini/mini-amd64.c b/src/mono/mono/mini/mini-amd64.c index dbb7448029937b..ee6e54691af4d9 100644 --- a/src/mono/mono/mini/mini-amd64.c +++ b/src/mono/mono/mini/mini-amd64.c @@ -5453,7 +5453,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) #else // NT does not have varargs rax use, and NT ABI does not have red zone. // Use red-zone mov/jmp instead of push/ret to preserve call/ret speculation stack. - // FIXME Just like NT the direct cases are are not ideal. + // FIXME Just like NT the direct cases are not ideal. amd64_mov_membase_reg (code, AMD64_RSP, -8, AMD64_RAX, 8); code = amd64_handle_varargs_call (cfg, code, call, FALSE); amd64_jump_membase (code, AMD64_RSP, -8); diff --git a/src/mono/mono/utils/mono-threads-wasm.c b/src/mono/mono/utils/mono-threads-wasm.c index daf5967de030b0..7e06a521793195 100644 --- a/src/mono/mono/utils/mono-threads-wasm.c +++ b/src/mono/mono/utils/mono-threads-wasm.c @@ -65,7 +65,7 @@ wasm_get_stack_size (void) g_assert (data_end > 0); g_assert (heap_base > data_end); - // this is the max available stack size size, + // this is the max available stack size, // return a 16-byte aligned smaller size return max_stack_size & ~0xF; } diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTests.cs b/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTests.cs index 8b582999aa2232..329ab3411d3143 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTests.cs @@ -41,7 +41,7 @@ private void UpdateBrowserMainJs(string targetFramework) string mainJsPath = Path.Combine(_projectDir!, "main.js"); string mainJsContent = File.ReadAllText(mainJsPath); - // .withExitOnUnhandledError() is available only only >net7.0 + // .withExitOnUnhandledError() is available only >net7.0 mainJsContent = mainJsContent.Replace(".create()", targetFramework == "net8.0" ? ".withConsoleForwarding().withElementOnExit().withExitCodeLogging().withExitOnUnhandledError().create()" diff --git a/src/native/external/llvm-libunwind/src/FrameHeaderCache.hpp b/src/native/external/llvm-libunwind/src/FrameHeaderCache.hpp index 54d5d33c3cd7ed..e1754cb6e1e676 100644 --- a/src/native/external/llvm-libunwind/src/FrameHeaderCache.hpp +++ b/src/native/external/llvm-libunwind/src/FrameHeaderCache.hpp @@ -41,7 +41,7 @@ class _LIBUNWIND_HIDDEN FrameHeaderCache { // Can't depend on the C++ standard library in libunwind, so use an array to // allocate the entries, and two linked lists for ordering unused and recently - // used entries. FIXME: Would the the extra memory for a doubly-linked list + // used entries. FIXME: Would the extra memory for a doubly-linked list // be better than the runtime cost of traversing a very short singly-linked // list on a cache miss? The entries themselves are all small and consecutive, // so unlikely to cause page faults when following the pointers. The memory diff --git a/src/tests/Loader/classloader/StaticVirtualMethods/GenericContext/Generator/Program.cs b/src/tests/Loader/classloader/StaticVirtualMethods/GenericContext/Generator/Program.cs index 88d718a3432b4e..402c4db07d6bf2 100644 --- a/src/tests/Loader/classloader/StaticVirtualMethods/GenericContext/Generator/Program.cs +++ b/src/tests/Loader/classloader/StaticVirtualMethods/GenericContext/Generator/Program.cs @@ -706,7 +706,7 @@ void CallTestEntrypoint(string callCommand) swMainMethodBody.WriteLine($"{scenarioName}Done: nop"); } - // If test scenario requires generic class caller, Create Caller class and make a global method method which calls it + // If test scenario requires generic class caller, Create Caller class and make a global method which calls it // If test scenario requires generic method caller, create global generic method as required and non-generic test method // If test scenario requires non-generic method caller, just make global method as caller // Call callee