-
Notifications
You must be signed in to change notification settings - Fork 12
Store visited paths instead of syntaxes in source-code-analysis #712
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
Conversation
- Change source-code-analysis record to store enriched-syntax and visited-paths - Add backward-compatible accessor for visited-forms that uses syntax-ref - Update source-analyze to compute paths and enrich syntax once - Extract and preserve expander-added properties (like 'class-body') - Combine expander and analyzer properties before enrichment - This reduces duplication by enriching the source once instead of per-visit Co-authored-by: jackfirth <8175575+jackfirth@users.noreply.github.com>
Explain why we need to manually extract and preserve expander-added properties like 'class-body, which affect refactoring rule matching. Co-authored-by: jackfirth <8175575+jackfirth@users.noreply.github.com>
Add a comment explaining how to add new expander properties to the preservation list when needed. Co-authored-by: jackfirth <8175575+jackfirth@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resyntax analyzed 1 file in this pull request and found no issues.
Pull Request Test Coverage Report for Build #177Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resyntax analyzed 1 file in this pull request and found no issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resyntax analyzed 1 file in this pull request and found no issues.
The
source-code-analysisobject stored a list of enriched syntax objects for each visited form, causing duplicated data and redundant work for nested syntax.Changes
enriched-syntax(entire source, enriched once) andvisited-paths(list of syntax-path) instead ofvisited-formssource-code-analysis-visited-formsthat usessyntax-refon enriched syntax with each path'class-body) from visits and merge with analyzer properties before enrichmentUsage
Clients can now iterate paths and inspect forms:
Reduces memory usage and eliminates duplicated enrichment/logging for nested syntax.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.