fix: Capture auto-property backing fields as instance fields in pause-point snapshots#1890
Conversation
…t snapshots
Auto-implemented properties compile to a "<Name>k__BackingField" field,
which the variable collector skipped along with genuinely-internal
"<"-prefixed fields (hoisted locals, state machine plumbing). This made
common patterns like `public float VerticalVelocity { get; private set; }`
invisible to pause-point captures, forcing a temporary rewrite to an
explicit field just to verify a value.
Extract the existing backing-field regex (previously private to the
collection preview serializer) into a shared constant, and use it in the
variable collector to un-mangle the field name and include it as an
InstanceField entry. Hoisted-local demangling behavior is unchanged.
Update the two existing formatter tests that asserted the old skip
behavior to reflect the new capture behavior.
Callers previously had no way to know auto-properties are captured without reading the source. Add one line to captured-variables.md noting they appear as instance fields under the property name, and regenerate the .claude/.agents skill copies.
|
Warning Review limit reached
Next review available in: 47 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (8)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
a32092e
into
feature/pause-point-round4-integration
Summary
public float VerticalVelocity { get; private set; }) now appear inCapturedVariablesfor a pause-point hit, under their property name.User Impact
InstanceFieldentry, with no source changes needed.Changes
<Name>k__BackingFieldregex (previously private to the collection preview serializer) into a shared constant so both the preview serializer and the variable collector use the same pattern.<-prefixed field.captured-variables.mdand regenerated the.claude/.agentsskill copies.Verification
dist/darwin-arm64/uloop compile --project-path <repo root>: 0 errors, 0 warningsdist/darwin-arm64/uloop run-tests --filter-type regex --filter-value ".*PausePoint.*" --test-mode EditMode: 207/207 passed