mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
C++: Introduce relation for tracking braced initializers
This commit is contained in:
2115
cpp/downgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/old.dbscheme
Normal file
2115
cpp/downgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/old.dbscheme
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,3 @@
|
|||||||
|
description: Add relation for tracking C++ braced initializers
|
||||||
|
compatibility: full
|
||||||
|
braced_initialisers.rel: delete
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
category: feature
|
||||||
|
---
|
||||||
|
* An `isBraced` predicate was added to the `Initializer`class which holds when a C++ braced initializer was used in the initialization.
|
||||||
@@ -51,4 +51,7 @@ class Initializer extends ControlFlowNode, @initialiser {
|
|||||||
override Function getControlFlowScope() { result = this.getExpr().getEnclosingFunction() }
|
override Function getControlFlowScope() { result = this.getExpr().getEnclosingFunction() }
|
||||||
|
|
||||||
override Stmt getEnclosingStmt() { result = this.getExpr().getEnclosingStmt() }
|
override Stmt getEnclosingStmt() { result = this.getExpr().getEnclosingStmt() }
|
||||||
|
|
||||||
|
/** Holds if the initializer used the C++ braced initializer notation. */
|
||||||
|
predicate isBraced() { braced_initialisers(underlyingElement(this)) }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1436,6 +1436,10 @@ initialisers(
|
|||||||
int location: @location_expr ref
|
int location: @location_expr ref
|
||||||
);
|
);
|
||||||
|
|
||||||
|
braced_initialisers(
|
||||||
|
int init: @initialiser ref
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An ancestor for the expression, for cases in which we cannot
|
* An ancestor for the expression, for cases in which we cannot
|
||||||
* otherwise find the expression's parent.
|
* otherwise find the expression's parent.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
|||||||
|
description: dd relation for tracking C++ braced initializers
|
||||||
|
compatibility: backwards
|
||||||
Reference in New Issue
Block a user