Skip to content

Admit optional computed reads after named prefixes - #2974

Merged
rogeralsing merged 1 commit into
mainfrom
codex/unified-bytecode-loop-17
Jun 1, 2026
Merged

Admit optional computed reads after named prefixes#2974
rogeralsing merged 1 commit into
mainfrom
codex/unified-bytecode-loop-17

Conversation

@rogeralsing

Copy link
Copy Markdown
Contributor

Summary

  • admit prefixed optional computed reads like box.child?.[key] into production unified bytecode
  • emit named receiver prefixes before the nullish boundary, then computed key/property reads and short-circuit suffixes
  • update the unified bytecode expansion contract and add eligibility/invocation coverage

Verification

  • rtk dotnet test tests/Asynkron.JsEngine.Tests -c Release --filter "FullyQualifiedNameUnifiedBytecodeProductionEligibilityTests.Evaluate_OptionalComputedPropertyReadWithNamedPrefix_AcceptsWithJumpIfNullishReplaceUndefinedOpcode|FullyQualifiedNameUnifiedBytecodeProductionInvocationTests.OptionalComputedPropertyReadAfterNamedPrefix_SkipsKeyOnNullish|FullyQualifiedNameUnifiedBytecodeProductionInvocationTests.OptionalComputedPropertyRead_ReturnsPropertyValueWhenBaseIsNonNull|FullyQualifiedNameUnifiedBytecodeProductionInvocationTests.OptionalComputedPropertyRead_ReturnsUndefinedWhenBaseIsNull"
  • rtk dotnet test tests/Asynkron.JsEngine.Tests -c Release --filter "FullyQualifiedNameUnifiedBytecodeProductionEligibilityTests|FullyQualifiedNameExpressionProgramCoverageMapTests.UnifiedBytecodeExpansionContract_ListsRequiredHeadingsAndCurrentEnums|FullyQualifiedName~UnifiedBytecodeProductionInvocationTests"
  • rtk dotnet build src/Asynkron.JsEngine/Asynkron.JsEngine.csproj -c Release
  • rtk git diff --check
  • rtk rg "EvaluateExpression(|ProfileEvaluateExpression(" src/Asynkron.JsEngine/Ast/TypedAstEvaluator.ExecutionPlanRunner*
  • rtk ./tools/profile forloop --memory

Notes

  • Full tests are currently blocked by the same 14 baseline failures reproduced on untouched main in the TDZ/const/slot/tail-call subset, so they are not introduced by this branch.
  • rtk dotnet format is a verify wrapper and reported pre-existing analyzer findings in these large touched compiler files; local whitespace issues from this change were fixed.

Copilot AI review requested due to automatic review settings June 1, 2026 12:12
@rogeralsing rogeralsing changed the title Admit prefixed optional computed reads Admit optional computed reads after named prefixes Jun 1, 2026
@rogeralsing
rogeralsing merged commit 7bc82bf into main Jun 1, 2026
1 check failed

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.

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