Overlay: Add overlay annotations to Java & shared libraries

This commit is contained in:
Kasper Svendsen
2025-06-16 13:06:31 +02:00
parent 2218a981f6
commit c207cfdeb7
428 changed files with 966 additions and 0 deletions

View File

@@ -2,6 +2,8 @@
* Provides classes and predicates for simple data-flow reachability suitable
* for tracking types.
*/
overlay[local?]
module;
private import codeql.util.Location

View File

@@ -3,6 +3,8 @@
* To use this, you must implement the `Input` signature. You can then use the predicates in the `Output`
* signature to implement the predicates of the same names inside `TypeTrackerSpecific.qll`.
*/
overlay[local?]
module;
/** The classes and predicates needed to generate type-tracking steps from summaries. */
signature module Input {

View File

@@ -2,6 +2,8 @@
* Provides classes and predicates for simple data-flow reachability suitable
* for tracking types.
*/
overlay[local?]
module;
private import codeql.util.Boolean
private import codeql.util.Option
@@ -510,6 +512,7 @@ module TypeTracking<LocationSig Location, TypeTrackingInput<Location> I> {
* }
* ```
*/
overlay[caller]
pragma[inline]
TypeTracker smallstep(Node nodeFrom, Node nodeTo) {
result = this.smallstepNoSimpleLocalFlowStep(nodeFrom, nodeTo)
@@ -654,6 +657,7 @@ module TypeTracking<LocationSig Location, TypeTrackingInput<Location> I> {
* }
* ```
*/
overlay[caller]
pragma[inline]
TypeBackTracker smallstep(Node nodeFrom, Node nodeTo) {
result = this.smallstepNoSimpleLocalFlowStep(nodeFrom, nodeTo)