mirror of
https://github.com/github/codeql.git
synced 2026-04-28 18:25:24 +02:00
Merge pull request #15853 from hvitved/dataflow/get-location
Data flow: Replace `hasLocationInfo` with `getLocation`
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
module DataFlow {
|
||||
private import internal.DataFlowImplSpecific
|
||||
private import codeql.dataflow.DataFlow
|
||||
import DataFlowMake<SwiftDataFlow>
|
||||
private import codeql.swift.elements.Location
|
||||
import DataFlowMake<Location, SwiftDataFlow>
|
||||
import internal.DataFlowImpl1
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ module TaintTracking {
|
||||
private import codeql.swift.dataflow.internal.DataFlowImplSpecific
|
||||
private import codeql.swift.dataflow.internal.TaintTrackingImplSpecific
|
||||
private import codeql.dataflow.TaintTracking
|
||||
import TaintFlowMake<SwiftDataFlow, SwiftTaintTracking>
|
||||
private import codeql.swift.elements.Location
|
||||
import TaintFlowMake<Location, SwiftDataFlow, SwiftTaintTracking>
|
||||
import codeql.swift.dataflow.internal.tainttracking1.TaintTrackingImpl
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
private import DataFlowImplSpecific
|
||||
private import codeql.dataflow.internal.DataFlowImpl
|
||||
import MakeImpl<SwiftDataFlow>
|
||||
private import codeql.swift.elements.Location
|
||||
import MakeImpl<Location, SwiftDataFlow>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
private import DataFlowImplSpecific
|
||||
private import codeql.dataflow.internal.DataFlowImplCommon
|
||||
import MakeImplCommon<SwiftDataFlow>
|
||||
import codeql.swift.elements.Location
|
||||
import MakeImplCommon<Location, SwiftDataFlow>
|
||||
|
||||
@@ -8,6 +8,6 @@ private import DataFlowImplSpecific
|
||||
private import TaintTrackingImplSpecific
|
||||
private import codeql.dataflow.internal.DataFlowImplConsistency
|
||||
|
||||
private module Input implements InputSig<SwiftDataFlow> { }
|
||||
private module Input implements InputSig<Location, SwiftDataFlow> { }
|
||||
|
||||
module Consistency = MakeConsistency<SwiftDataFlow, SwiftTaintTracking, Input>;
|
||||
module Consistency = MakeConsistency<Location, SwiftDataFlow, SwiftTaintTracking, Input>;
|
||||
|
||||
@@ -15,7 +15,7 @@ module Public {
|
||||
import DataFlowPublic
|
||||
}
|
||||
|
||||
module SwiftDataFlow implements InputSig {
|
||||
module SwiftDataFlow implements InputSig<Swift::Location> {
|
||||
import Private
|
||||
import Public
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ class Node extends TNode {
|
||||
* For more information, see
|
||||
* [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
|
||||
*/
|
||||
predicate hasLocationInfo(
|
||||
deprecated predicate hasLocationInfo(
|
||||
string filepath, int startline, int startcolumn, int endline, int endcolumn
|
||||
) {
|
||||
this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn)
|
||||
|
||||
@@ -11,7 +11,7 @@ private import DataFlowImplSpecific::Public
|
||||
private import DataFlowImplCommon
|
||||
private import codeql.swift.dataflow.ExternalFlow
|
||||
|
||||
module Input implements InputSig<DataFlowImplSpecific::SwiftDataFlow> {
|
||||
module Input implements InputSig<Location, DataFlowImplSpecific::SwiftDataFlow> {
|
||||
class SummarizedCallableBase = Function;
|
||||
|
||||
ArgumentPosition callbackSelfParameterPosition() { result instanceof ThisArgumentPosition }
|
||||
@@ -102,14 +102,14 @@ module Input implements InputSig<DataFlowImplSpecific::SwiftDataFlow> {
|
||||
}
|
||||
}
|
||||
|
||||
private import Make<DataFlowImplSpecific::SwiftDataFlow, Input> as Impl
|
||||
private import Make<Location, DataFlowImplSpecific::SwiftDataFlow, Input> as Impl
|
||||
|
||||
private module StepsInput implements Impl::Private::StepsInputSig {
|
||||
DataFlowCall getACall(Public::SummarizedCallable sc) { result.asCall().getStaticTarget() = sc }
|
||||
}
|
||||
|
||||
module SourceSinkInterpretationInput implements
|
||||
Impl::Private::External::SourceSinkInterpretationInputSig<Location>
|
||||
Impl::Private::External::SourceSinkInterpretationInputSig
|
||||
{
|
||||
class Element = AstNode;
|
||||
|
||||
@@ -222,7 +222,7 @@ module Private {
|
||||
|
||||
module External {
|
||||
import Impl::Private::External
|
||||
import Impl::Private::External::SourceSinkInterpretation<Location, SourceSinkInterpretationInput>
|
||||
import Impl::Private::External::SourceSinkInterpretation<SourceSinkInterpretationInput>
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
|
||||
private import codeql.dataflow.TaintTracking
|
||||
private import DataFlowImplSpecific
|
||||
private import codeql.swift.elements.Location
|
||||
|
||||
module SwiftTaintTracking implements InputSig<SwiftDataFlow> {
|
||||
module SwiftTaintTracking implements InputSig<Location, SwiftDataFlow> {
|
||||
import TaintTrackingPrivate
|
||||
import TaintTrackingPublic
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user