-
Notifications
You must be signed in to change notification settings - Fork 1.4k
ast end_offset #6646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ast end_offset #6646
Conversation
📝 WalkthroughWalkthroughAdds parse-error end-location tracking and exposes it through the compiler/VM, restricts SyntaxError caret rendering to same-line errors, and adds object-level fallback subclass checks in metaclass resolution. Changes
Sequence DiagramsequenceDiagram
participant Parser as AST Parser
participant Comp as CompileError / ParseError
participant VM as VM Exception Layer
participant PyErr as Python SyntaxError Obj
rect rgb(230,245,230)
Note over Parser,Comp: Parse-time error detection
Parser->>Comp: produce parse error with start/end range
Comp->>Comp: compute start_location and end_location
Comp->>VM: return/raise ParseError (includes end_location)
end
rect rgb(230,230,245)
Note over VM,PyErr: VM constructs Python SyntaxError
VM->>VM: set lineno and offset from error.location
VM->>VM: call error.python_end_location()
alt end location present
VM->>PyErr: set end_lineno and end_offset
else no end location
VM->>PyErr: leave end attributes unset
end
end
rect rgb(245,240,230)
Note over VM,PyErr: Exception rendering (display)
VM->>VM: compare lineno and end_lineno
alt same_line == true
VM->>VM: compute caret range using offset..end_offset
VM->>PyErr: render caret under same line
else same_line == false
VM->>PyErr: render single-point marker (no caret)
end
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches
📜 Recent review detailsConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (4)
🧰 Additional context used📓 Path-based instructions (1)**/*.rs📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
🔇 Additional comments (1)
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 |
db3adb0 to
5c60163
Compare
5c60163 to
2bb6fd4
Compare
Summary by CodeRabbit
New Features
Bug Fixes
✏️ Tip: You can customize this high-level summary in your review settings.