mirror of
https://github.com/github/codeql.git
synced 2026-05-14 11:19:27 +02:00
Make getACallee overlay[global]
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Provides classes for working with declarations.
|
||||
*/
|
||||
overlay[local]
|
||||
overlay[local?]
|
||||
module;
|
||||
|
||||
import go
|
||||
@@ -137,6 +137,7 @@ class FuncDef extends @funcdef, StmtParent, ExprParent {
|
||||
/**
|
||||
* Gets a call to this function.
|
||||
*/
|
||||
overlay[global]
|
||||
DataFlow::CallNode getACall() { result.getACallee() = this }
|
||||
|
||||
/** Holds if this function is variadic. */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Provides classes for working with scopes and declared objects.
|
||||
*/
|
||||
overlay[local]
|
||||
overlay[local?]
|
||||
module;
|
||||
|
||||
import go
|
||||
@@ -418,6 +418,7 @@ class Function extends ValueEntity, @functionobject {
|
||||
* This includes calls that target this function indirectly, by calling an
|
||||
* interface method that this function implements.
|
||||
*/
|
||||
overlay[global]
|
||||
pragma[nomagic]
|
||||
DataFlow::CallNode getACall() { this = result.getACalleeIncludingExternals().asFunction() }
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
overlay[local]
|
||||
overlay[local?]
|
||||
module;
|
||||
|
||||
private import go
|
||||
@@ -488,6 +488,7 @@ module Public {
|
||||
* For virtual calls, we look up possible targets in all types that implement the receiver
|
||||
* interface type.
|
||||
*/
|
||||
overlay[global]
|
||||
Callable getACalleeIncludingExternals() {
|
||||
result = this.getACalleeWithoutVirtualDispatch()
|
||||
or
|
||||
@@ -504,6 +505,7 @@ module Public {
|
||||
* As `getACalleeIncludingExternals`, except excluding external functions (those for which
|
||||
* we lack a definition, such as standard library functions).
|
||||
*/
|
||||
overlay[global]
|
||||
pragma[nomagic]
|
||||
FuncDef getACallee() { result = this.getACalleeIncludingExternals().getFuncDef() }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user