mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
Python: Rename target => callee
To use a standardised naming :)
This commit is contained in:
@@ -18,12 +18,12 @@ class RelevantCall extends Call {
|
||||
module PointsToBasedCallGraph {
|
||||
/** A call that can be resolved by points-to. */
|
||||
class ResolvableCall extends RelevantCall {
|
||||
Value target;
|
||||
Value callee;
|
||||
|
||||
ResolvableCall() { target.getACall() = this.getAFlowNode() }
|
||||
ResolvableCall() { callee.getACall() = this.getAFlowNode() }
|
||||
|
||||
/** Gets a resolved target of this call. */
|
||||
Value getTarget() { result = target }
|
||||
/** Gets a resolved callee of this call. */
|
||||
Value getCallee() { result = callee }
|
||||
}
|
||||
|
||||
/** A call that cannot be resolved by points-to. */
|
||||
@@ -32,20 +32,20 @@ module PointsToBasedCallGraph {
|
||||
}
|
||||
|
||||
/**
|
||||
* A call that can be resolved by points-to, where the resolved target is relevant.
|
||||
* Relevant targets include:
|
||||
* A call that can be resolved by points-to, where the resolved callee is relevant.
|
||||
* Relevant callees include:
|
||||
* - builtins
|
||||
* - standard library
|
||||
* - source code of the project
|
||||
*/
|
||||
class ResolvableCallRelevantTarget extends ResolvableCall {
|
||||
ResolvableCallRelevantTarget() {
|
||||
target.isBuiltin()
|
||||
class ResolvableCallRelevantCallee extends ResolvableCall {
|
||||
ResolvableCallRelevantCallee() {
|
||||
callee.isBuiltin()
|
||||
or
|
||||
exists(File file |
|
||||
file = target.(CallableValue).getScope().getLocation().getFile()
|
||||
file = callee.(CallableValue).getScope().getLocation().getFile()
|
||||
or
|
||||
file = target.(ClassValue).getScope().getLocation().getFile()
|
||||
file = callee.(ClassValue).getScope().getLocation().getFile()
|
||||
|
|
||||
file.inStdlib()
|
||||
or
|
||||
@@ -56,10 +56,10 @@ module PointsToBasedCallGraph {
|
||||
}
|
||||
|
||||
/**
|
||||
* A call that can be resolved by points-to, where the resolved target is not considered relevant.
|
||||
* See `ResolvableCallRelevantTarget` for the definition of relevance.
|
||||
* A call that can be resolved by points-to, where the resolved callee is not considered relevant.
|
||||
* See `ResolvableCallRelevantCallee` for the definition of relevance.
|
||||
*/
|
||||
class ResolvableCallIrrelevantTarget extends ResolvableCall {
|
||||
ResolvableCallIrrelevantTarget() { not this instanceof ResolvableCallRelevantTarget }
|
||||
class ResolvableCallIrrelevantCallee extends ResolvableCall {
|
||||
ResolvableCallIrrelevantCallee() { not this instanceof ResolvableCallRelevantCallee }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* @name Ratio of resolvable call by points-to
|
||||
* @description The percentage of (relevant) calls that can be resolved to a target.
|
||||
* @description The percentage of (relevant) calls that can be resolved to a callee.
|
||||
* @kind metric
|
||||
* @metricType project
|
||||
* @metricAggregate sum min max avg
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* @name Resolvable calls by points-to
|
||||
* @description The number of (relevant) calls that can be resolved to a target.
|
||||
* @description The number of (relevant) calls that can be resolved to a callee.
|
||||
* @kind metric
|
||||
* @metricType project
|
||||
* @metricAggregate sum
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/**
|
||||
* @name Resolvable calls by points-to, to relevant target
|
||||
* @description The number of (relevant) calls that could be resolved to a target that is relevant.
|
||||
* @name Resolvable calls by points-to, to relevant callee
|
||||
* @description The number of (relevant) calls that could be resolved to a callee that is relevant.
|
||||
* @kind metric
|
||||
* @metricType project
|
||||
* @metricAggregate sum
|
||||
* @tags meta
|
||||
* @id py/meta/points-to-resolvable-calls-relevant-target
|
||||
* @id py/meta/points-to-resolvable-calls-relevant-callee
|
||||
*/
|
||||
|
||||
import python
|
||||
import CallGraphQuality
|
||||
|
||||
select projectRoot(), count(PointsToBasedCallGraph::ResolvableCallRelevantTarget call)
|
||||
select projectRoot(), count(PointsToBasedCallGraph::ResolvableCallRelevantCallee call)
|
||||
|
||||
Reference in New Issue
Block a user