- Notifications
You must be signed in to change notification settings - Fork1.3k
Symboltable updates#5861
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Symboltable updates#5861
Uh oh!
There was an error while loading.Please reload this page.
Conversation
coderabbitaibot commentedJun 28, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
WalkthroughThe changes update symbol flag definitions and symbol usage handling in the symbol table to align more closely with CPython. New flags and a TypeParam symbol usage are introduced, error checks for duplicate parameters and star imports are added, and comprehension/type parameter handling is refined for accuracy and consistency. Changes
Sequence Diagram(s)sequenceDiagram participant User participant SymbolTableBuilder participant SymbolTable User->>SymbolTableBuilder: Define function with parameters SymbolTableBuilder->>SymbolTable: Register parameter name alt Duplicate parameter SymbolTableBuilder-->>User: Return duplicate parameter error end User->>SymbolTableBuilder: Write import * statement SymbolTableBuilder->>SymbolTable: Check scope alt Not at module scope SymbolTableBuilder-->>User: Return star import error end User->>SymbolTableBuilder: Define comprehension/type parameter SymbolTableBuilder->>SymbolTable: Register symbol with TypeParam usage and flags Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (2)📓 Common learnings
compiler/codegen/src/symboltable.rs (2)
⏰ Context from checks skipped due to timeout of 90000ms (11)
🔇 Additional comments (10)
✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat withCodeRabbit:
SupportNeed help? Create a ticket on oursupport page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File ( |
Uh oh!
There was an error while loading.Please reload this page.
I used the cpython implementation as a reference and implemented a few features/bug-fixes.
Summary by CodeRabbit
New Features
import *
) outside the module-level scope.Bug Fixes
Refactor