Implement UncheckedAbruptCompletionMismatch #160
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds
UncheckedAbruptCompletionMismatch
. WhenreturnIfAbrupt
operates under the assumption that the completion record is not abrupt (noted by a!
in shorthand form), but the value is abrupt, we refer to this scenario as an unchecked abrupt completion.UncheckedAbruptCompletion mismatches (total 273)
List of functions where the mismatch occurs (total 142)
``` AddRestrictedFunctionProperties ArgumentsExoticObject.DefineOwnProperty ArgumentsExoticObject.Delete ArgumentsExoticObject.Get ArgumentsExoticObject.GetOwnProperty ArgumentsExoticObject.Set ArraySetLength AssignmentRestElement[0,0].IteratorDestructuringAssignmentEvaluation AsyncConciseBody[0,0].EvaluateAsyncConciseBody AsyncFunctionBody[0,0].EvaluateAsyncFunctionBody AsyncModuleExecutionFulfilled AsyncModuleExecutionRejected BindingRestElement[0,0].IteratorBindingInitialization BindingRestElement[1,0].IteratorBindingInitialization CanonicalNumericIndexString ClassTail[0,1].ClassDefinitionEvaluation ClassTail[0,3].ClassDefinitionEvaluation CopyDataProperties CreateArrayFromList CreateAsyncFromSyncIterator CreateIterResultObject CreateListFromArrayLike CreateMappedArgumentsObject CreateMethodProperty CreateNonEnumerableDataPropertyOrThrow CyclicModuleRecord.Evaluate ElementList[0,0].ArrayAccumulation ElementList[0,1].ArrayAccumulation ElementList[2,0].ArrayAccumulation ElementList[2,1].ArrayAccumulation EvalDeclarationInstantiation ExecuteAsyncModule ForIn/OfHeadEvaluation FromPropertyDescriptor FunctionDeclarationInstantiation GetTemplateObject INTRINSICS.Array INTRINSICS.Array.from INTRINSICS.Array.of INTRINSICS.Array.prototype.at INTRINSICS.Array.prototype.concat INTRINSICS.Array.prototype.copyWithin INTRINSICS.Array.prototype.every INTRINSICS.Array.prototype.fill INTRINSICS.Array.prototype.filter INTRINSICS.Array.prototype.find INTRINSICS.Array.prototype.findIndex INTRINSICS.Array.prototype.forEach INTRINSICS.Array.prototype.includes INTRINSICS.Array.prototype.indexOf INTRINSICS.Array.prototype.join INTRINSICS.Array.prototype.lastIndexOf INTRINSICS.Array.prototype.map INTRINSICS.Array.prototype.pop INTRINSICS.Array.prototype.push INTRINSICS.Array.prototype.reduce INTRINSICS.Array.prototype.reduceRight INTRINSICS.Array.prototype.reverse INTRINSICS.Array.prototype.shift INTRINSICS.Array.prototype.slice INTRINSICS.Array.prototype.some INTRINSICS.Array.prototype.splice INTRINSICS.Array.prototype.toLocaleString INTRINSICS.Array.prototype.unshift INTRINSICS.AsyncFromSyncIteratorPrototype.next INTRINSICS.AsyncFromSyncIteratorPrototype.return INTRINSICS.AsyncFromSyncIteratorPrototype.throw INTRINSICS.AsyncGeneratorFunction.prototype.prototype.next INTRINSICS.AsyncGeneratorFunction.prototype.prototype.return INTRINSICS.AsyncGeneratorFunction.prototype.prototype.throw INTRINSICS.BigInt.prototype.toString INTRINSICS.Date INTRINSICS.Date.UTC INTRINSICS.Function.prototype.bind INTRINSICS.JSON.parse INTRINSICS.JSON.stringify INTRINSICS.Number.prototype.toFixed INTRINSICS.Number.prototype.toPrecision INTRINSICS.Number.prototype.toString INTRINSICS.Object INTRINSICS.Object.assign INTRINSICS.Object.getOwnPropertyDescriptors INTRINSICS.Object.prototype.toString INTRINSICS.RegExp.prototype[@@match] INTRINSICS.String.prototype.lastIndexOf INTRINSICS.String.prototype.replace INTRINSICS.String.raw INTRINSICS.TypedArray.from INTRINSICS.TypedArray.of INTRINSICS.TypedArray.prototype.at INTRINSICS.TypedArray.prototype.every INTRINSICS.TypedArray.prototype.fill INTRINSICS.TypedArray.prototype.filter INTRINSICS.TypedArray.prototype.find INTRINSICS.TypedArray.prototype.findIndex INTRINSICS.TypedArray.prototype.forEach INTRINSICS.TypedArray.prototype.includes INTRINSICS.TypedArray.prototype.indexOf INTRINSICS.TypedArray.prototype.join INTRINSICS.TypedArray.prototype.lastIndexOf INTRINSICS.TypedArray.prototype.reduce INTRINSICS.TypedArray.prototype.reduceRight INTRINSICS.TypedArray.prototype.reverse INTRINSICS.TypedArray.prototype.some INTRINSICS.parseFloat INTRINSICS.parseInt ImportCall[0,0].Evaluation ImportMeta[0,0].Evaluation InitializeBoundName IntegerIndexedExoticObject.DefineOwnProperty IntegerIndexedExoticObject.Delete IntegerIndexedExoticObject.OwnPropertyKeys InternalizeJSONProperty IsLooselyEqual LiteralPropertyName[2,0].Evaluation LiteralPropertyName[2,0].PropName MakeConstructor MakeDay MakeTime ModuleNamespaceExoticObject.DefineOwnProperty ModuleNamespaceExoticObject.Delete ModuleNamespaceExoticObject.Get ModuleNamespaceExoticObject.HasProperty ModuleNamespaceExoticObject.SetPrototypeOf Number::bitwiseNOT Number::leftShift Number::signedRightShift Number::unsignedRightShift NumberBitwiseOp OrdinaryCallBindThis PrimaryExpression[10,0].Evaluation PropertyDefinition[0,0].PropertyDefinitionEvaluation PropertyDefinition[2,0].PropertyDefinitionEvaluation RegExpAlloc RegExpCreate SerializeJSONProperty SpreadElement[0,0].ArrayAccumulation StringExoticObject.DefineOwnProperty StringExoticObject.OwnPropertyKeys TimeClip ToIndex ToPropertyKey ```