add documentation for overlay annotations#21184
Merged
Conversation
5edf815 to
ef4eb11
Compare
ef4eb11 to
4e478c3
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive documentation for overlay annotations, a feature that enables efficient incremental analysis in CodeQL. The documentation explains six overlay annotations that control how predicates behave during overlay evaluation, helping developers understand and resolve compilation errors when overlay support is enabled.
Changes:
- Added new "Overlay annotations" section to annotations.rst with detailed descriptions, examples, and troubleshooting guidance for all six overlay annotation types
- Updated ql-language-specification.rst to include overlay annotations in the grammar and applicability table
- Enhanced the QL lexer to properly highlight overlay annotation syntax
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/codeql/qllexer.py | Updated regex pattern to recognize overlay annotations with optional ? suffix for syntax highlighting |
| docs/codeql/ql-language-reference/ql-language-specification.rst | Added overlay to argsAnnotation grammar and created applicability table showing which language constructs support each overlay annotation variant |
| docs/codeql/ql-language-reference/annotations.rst | Added comprehensive overlay annotations section documenting all six annotation types (local, local?, global, caller, caller?, discard_entity) with descriptions, use cases, code examples, inheritance behavior, and error resolution guidance |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
d10c
reviewed
Jan 19, 2026
d10c
reviewed
Jan 19, 2026
e0c870f to
8d5eb40
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds public-facing documentation for overlay annotations to the QL language reference and specification. These annotations control predicate behavior during overlay evaluation, a feature for incremental analysis used primarily by GitHub Code Scanning for pull request analysis.
Changes
overlay[local],overlay[local?],overlay[global],overlay[caller],overlay[caller?],overlay[discard_entity]) with descriptions, examples, and troubleshooting for common compilation errorsMotivation
When overlay compilation is enabled for a QL pack, developers may encounter compilation errors related to overlay constraints. This documentation helps QL developers understand what the annotations mean and resolve errors in custom libraries.