Skip to content

Route optional named deletes through unified bytecode - #3002

Merged
rogeralsing merged 1 commit into
mainfrom
codex/unified-bytecode-loop-42-optional-named-delete
Jun 1, 2026
Merged

Route optional named deletes through unified bytecode#3002
rogeralsing merged 1 commit into
mainfrom
codex/unified-bytecode-loop-42-optional-named-delete

Conversation

@rogeralsing

Copy link
Copy Markdown
Contributor

Summary

  • admit optional named property deletes such as delete box?.value and delete box.child?.value in production unified bytecode
  • add the matching compiler lowering for the nullish-to-true delete branch
  • update tests/docs so optional named deletes are no longer listed as optional-chain declines

Tests

  • rtk dotnet test tests/Asynkron.JsEngine.Tests -c Release --filter "FullyQualifiedNameUnifiedBytecodeProductionEligibilityTests.Evaluate_OptionalNamedPropertyDeleteCandidate_AcceptsOwnedPropertyOpcodes|FullyQualifiedNameUnifiedBytecodeProductionEligibilityTests.Evaluate_UnsupportedOptionalComputedPropertyDeleteNeighbor_DeclinesWithExplicitCode|FullyQualifiedNameUnifiedBytecodeProductionInvocationTests.OptionalNamedPropertyDelete_UsesUnifiedBytecodeProductionFastPath|FullyQualifiedNameExpressionProgramLoweringTests.ReturnInstruction_DeleteOptionalNamedProperty_IsLoweredToExpressionProgram|FullyQualifiedNameAstFreeExecutionAssertionTests.AssertNoAstEvaluation_Enabled_AllowsDeleteOptionalNamedPropertyExecution|FullyQualifiedNameExecutionPlanDiagnosticsTests|FullyQualifiedName~ExpressionProgramCoverageMapTests.UnifiedBytecodeExpansionContract_ListsRequiredHeadingsAndCurrentEnums"
  • rtk dotnet test tests/Asynkron.JsEngine.Tests -c Release --filter "FullyQualifiedNameUnifiedBytecodeProductionEligibilityTests|FullyQualifiedNameUnifiedBytecodeProductionInvocationTests|FullyQualifiedNameExpressionProgramLoweringTests|FullyQualifiedNameAstFreeExecutionAssertionTests|FullyQualifiedNameExpressionProgramCoverageMapTests|FullyQualifiedNameDeleteOperatorTests"
  • rtk dotnet build src/Asynkron.JsEngine/Asynkron.JsEngine.csproj -c Release
  • rtk rg "EvaluateExpression(|ProfileEvaluateExpression(" src/Asynkron.JsEngine/Ast/TypedAstEvaluator.ExecutionPlanRunner*
  • rtk git diff --check

Copilot AI review requested due to automatic review settings June 1, 2026 19:48
@rogeralsing
rogeralsing merged commit 3609dfd into main Jun 1, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@rogeralsing
rogeralsing deleted the codex/unified-bytecode-loop-42-optional-named-delete branch June 1, 2026 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants