Skip to content

Fix 31 SharpTS issues from #3562 through #3593 - #3612

Merged
nickna merged 32 commits into
mainfrom
codex/issues-3562-3593
Nov 9, 2026
Merged

nickna merged 32 commits into
mainfrom
codex/issues-3562-3593

Conversation

@nickna

@nickna nickna commented Nov 8, 2026

Copy link
Copy Markdown
Owner

Summary

This PR addresses the 31 open issues numbered #3562 through #3593, with one commit per issue.

  • Honor array and arguments descriptors, iterator lengths, predicate values, and reviver property reads.
  • Preserve async generator catch and iterator cleanup behavior, lexical receivers, constructor awaits, and console spread arguments.
  • Repair enum evaluation and identity, deferred class inference, field-order diagnostics, generic Array writes, and triple-slash reference resolution.

Verification

  • 7,287 tests passed on the combined branch across the changed runtime and compiler suites, the checker suite, and targeted native guest coverage.
  • Saved CLI assemblies passed --verify. Interpreter and saved output matched Node or TypeScript reference results on the relevant reproductions.
  • The initial broader Windows run hit local PATH, named-pipe, and HTTP listener errors. The final run targeted the affected suites with a cleaned session PATH.

Follow-ups

Filed #3594, #3595, #3596, #3597, #3598, #3599, #3600, #3601, #3602, #3603, #3604, #3605, #3606, #3607, #3608, #3609, #3610, #3611 during verification. The global lookup and arguments changes also address #3596, #3597, and #3609. The post-await property-read catch case is tracked in #3606.

Closes #3562
Closes #3563
Closes #3564
Closes #3565
Closes #3566
Closes #3567
Closes #3568
Closes #3569
Closes #3570
Closes #3571
Closes #3572
Closes #3573
Closes #3574
Closes #3575
Closes #3576
Closes #3578
Closes #3579
Closes #3580
Closes #3581
Closes #3582
Closes #3583
Closes #3584
Closes #3585
Closes #3586
Closes #3587
Closes #3588
Closes #3589
Closes #3590
Closes #3591
Closes #3592
Closes #3593
Closes #3596
Closes #3597
Closes #3609

Nicholas Nassiri added 30 commits November 8, 2026 13:29
)

# Conflicts:
#	src/SharpTS/Compilation/RuntimeEmitter.Objects.Index.cs
@coderabbitai

coderabbitai Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 109 files, which is 9 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 69f7829 and 41401a0.

Files selected for processing: 109

  • src/SharpTS/Compilation/AsyncFunctionMoveNextEmitter.ForAwait.cs
  • src/SharpTS/Compilation/AsyncGeneratorMoveNextEmitter.Expressions.cs
  • src/SharpTS/Compilation/AsyncGeneratorMoveNextEmitter.Statements.TryCatch.cs
  • src/SharpTS/Compilation/AsyncGeneratorMoveNextEmitter.Statements.cs
  • src/SharpTS/Compilation/CallHandlers/BuiltInConstructorHandler.cs
  • src/SharpTS/Compilation/EmittedArgumentsRuntime.cs
  • src/SharpTS/Compilation/ExpressionEmitterBase.CallHelpers.cs
  • src/SharpTS/Compilation/ExpressionEmitterBase.Constructors.cs
  • src/SharpTS/Compilation/ExpressionEmitterBase.Enums.cs
  • src/SharpTS/Compilation/ExpressionEmitterBase.cs
  • src/SharpTS/Compilation/ILCompiler.Arguments.cs
  • src/SharpTS/Compilation/ILCompiler.Classes.RuntimeParents.cs
  • src/SharpTS/Compilation/ILCompiler.Enums.cs
  • src/SharpTS/Compilation/ILCompiler.Functions.cs
  • src/SharpTS/Compilation/ILCompiler.GeneratorExpressions.cs
  • src/SharpTS/Compilation/ILCompiler.IteratorStubs.cs
  • src/SharpTS/Compilation/ILCompiler.Modules.cs
  • src/SharpTS/Compilation/ILEmitter.Calls.cs
  • src/SharpTS/Compilation/ILEmitter.Expressions.cs
  • src/SharpTS/Compilation/ILEmitter.Modules.cs
  • src/SharpTS/Compilation/ILEmitter.Namespaces.cs
  • src/SharpTS/Compilation/ILEmitter.Operators.cs
  • src/SharpTS/Compilation/ILEmitter.Properties.cs
  • src/SharpTS/Compilation/NestedFunctionLifter.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Arguments.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Arrays.Iterators.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Arrays.Search.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Arrays.cs
  • src/SharpTS/Compilation/RuntimeEmitter.HasOwnProperty.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Iterator.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Json.ParseReviver.cs
  • src/SharpTS/Compilation/RuntimeEmitter.NewTarget.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Objects.Descriptors.DefineProperty.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Objects.Descriptors.Lookup.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Objects.Descriptors.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Objects.GetPropertyBranches.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Objects.Index.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Objects.Properties.cs
  • src/SharpTS/Compilation/RuntimeEmitter.Objects.SetProperty.cs
  • src/SharpTS/Compilation/RuntimeEmitter.RuntimeClass.cs
  • src/SharpTS/Compilation/RuntimeEmitter.RuntimeClassPhase1.cs
  • src/SharpTS/Compilation/RuntimeEmitter.TSFunction.cs
  • src/SharpTS/Compilation/StateMachineEmitHelpers.cs
  • src/SharpTS/Compilation/StateMachineExitRoutingEmitter.ForAwait.cs
  • src/SharpTS/Diagnostics/DiagnosticCollector.cs
  • src/SharpTS/Execution/Interpreter.Calls.cs
  • src/SharpTS/Execution/Interpreter.Dispatch.cs
  • src/SharpTS/Execution/Interpreter.Expressions.cs
  • src/SharpTS/Execution/Interpreter.Namespaces.cs
  • src/SharpTS/Execution/Interpreter.Realm.cs
  • src/SharpTS/Execution/Interpreter.Statements.cs
  • src/SharpTS/Execution/Interpreter.cs
  • src/SharpTS/Execution/VariableResolver.cs
  • src/SharpTS/Modules/ModuleResolver.cs
  • src/SharpTS/Parsing/ConstEnumExpressionEvaluator.cs
  • src/SharpTS/Runtime/BuiltIns/JSONBuiltIns.cs
  • src/SharpTS/Runtime/Types/SharpTSArguments.cs
  • src/SharpTS/Runtime/Types/SharpTSAsyncFunction.cs
  • src/SharpTS/Runtime/Types/SharpTSAsyncGeneratorFunction.cs
  • src/SharpTS/Runtime/Types/SharpTSFunction.cs
  • src/SharpTS/Runtime/Types/SharpTSGeneratorFunction.cs
  • src/SharpTS/TypeSystem/TypeChecker.ClassFieldInference.cs
  • src/SharpTS/TypeSystem/TypeChecker.Compatibility.cs
  • src/SharpTS/TypeSystem/TypeChecker.Expressions.cs
  • src/SharpTS/TypeSystem/TypeChecker.Properties.Helpers.cs
  • src/SharpTS/TypeSystem/TypeChecker.Properties.Index.cs
  • src/SharpTS/TypeSystem/TypeChecker.Properties.cs
  • src/SharpTS/TypeSystem/TypeChecker.Statements.Classes.Stages.cs
  • src/SharpTS/TypeSystem/TypeChecker.Statements.Classes.cs
  • src/SharpTS/TypeSystem/TypeChecker.Statements.Enums.cs
  • src/SharpTS/TypeSystem/TypeChecker.cs
  • src/SharpTS/TypeSystem/TypeInfo.cs
  • tests/SharpTS.Tests/Compilation/EmitterSyncTests.cs
  • tests/SharpTS.Tests/CompilerTests/ArgumentsIteratorLengthRangeTests.cs
  • tests/SharpTS.Tests/CompilerTests/EmittedFunctionInvocationRuntimeTests.cs
  • tests/SharpTS.Tests/CompilerTests/EmittedObjectKeysRuntimeTests.cs
  • tests/SharpTS.Tests/CompilerTests/EmittedObjectOwnPropertiesRuntimeTests.cs
  • tests/SharpTS.Tests/CompilerTests/EmittedObjectWriteRuntimeTests.cs
  • tests/SharpTS.Tests/CompilerTests/NativeGuestOwnSourceTests.cs
  • tests/SharpTS.Tests/CompilerTests/ObjectReadTestSupport.cs
  • tests/SharpTS.Tests/IntegrationTests/CliArraySubclassTests.cs
  • tests/SharpTS.Tests/SharedTests/AmbientEnumRuntimeTests.cs
  • tests/SharpTS.Tests/SharedTests/ArgumentsLengthAssignmentTests.cs
  • tests/SharpTS.Tests/SharedTests/ArgumentsLengthDeletionTests.cs
  • tests/SharpTS.Tests/SharedTests/ArgumentsOwnIteratorTests.cs
  • tests/SharpTS.Tests/SharedTests/ArrayMethodTests.cs
  • tests/SharpTS.Tests/SharedTests/AsyncArgumentsCalleeTests.cs
  • tests/SharpTS.Tests/SharedTests/AsyncGeneratorForAwaitTests.cs
  • tests/SharpTS.Tests/SharedTests/AsyncGeneratorOperandExceptionTests.cs
  • tests/SharpTS.Tests/SharedTests/AsyncGeneratorTests.cs
  • tests/SharpTS.Tests/SharedTests/BorrowedArgumentsIteratorTests.cs
  • tests/SharpTS.Tests/SharedTests/ConsoleTests.cs
  • tests/SharpTS.Tests/SharedTests/EnumIndexReadTests.cs
  • tests/SharpTS.Tests/SharedTests/EnumTests.cs
  • tests/SharpTS.Tests/SharedTests/JSONReviverPropertyTests.cs
  • tests/SharpTS.Tests/SharedTests/MappedArgumentsCalleeTests.cs
  • tests/SharpTS.Tests/SharedTests/MappedArgumentsTests.cs
  • tests/SharpTS.Tests/SharedTests/NestedGeneratorReceiverTests.cs
  • tests/SharpTS.Tests/SharedTests/ParsedArrayPropertyTests.cs
  • tests/SharpTS.Tests/SharedTests/SignedEnumValueTests.cs
  • tests/SharpTS.Tests/SharedTests/StringRelationalComparisonTests.cs
  • tests/SharpTS.Tests/SharedTests/SynchronousArrowSuperTests.cs
  • tests/SharpTS.Tests/SharedTests/TripleSlashReferenceTests.cs
  • tests/SharpTS.Tests/SharedTests/UnmappedArgumentsIntegrityTests.cs
  • tests/SharpTS.Tests/TypeCheckerTests/ClassFieldInitializationOrderTests.cs
  • tests/SharpTS.Tests/TypeCheckerTests/EnumMemberCompatibilityTests.cs
  • tests/SharpTS.Tests/TypeCheckerTests/EnumReverseMembersTests.cs
  • tests/SharpTS.Tests/TypeCheckerTests/ForwardGetterFieldDependencyTests.cs
  • tests/SharpTS.Tests/TypeCheckerTests/PublicGetterFieldInferenceTests.cs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@nickna
nickna merged commit 20dc0e1 into main Nov 9, 2026
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment