mirror of
https://github.com/github/codeql.git
synced 2026-04-28 02:05:14 +02:00
C#: Refactor isRelevantForModels.
This commit is contained in:
@@ -52,7 +52,6 @@ class PropagateToSinkConfigurationSpecific extends TaintTracking::Configuration
|
||||
|
||||
override predicate isSource(DataFlow::Node source) {
|
||||
(isRelevantMemberAccess(source) or source instanceof DataFlow::ParameterNode) and
|
||||
source.getEnclosingCallable().(Modifiable).isEffectivelyPublic() and
|
||||
isRelevantForModels(source.getEnclosingCallable())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,10 @@ private import semmle.code.csharp.dataflow.internal.DataFlowDispatch
|
||||
/**
|
||||
* Holds if it is relevant to generate models for `api`.
|
||||
*/
|
||||
predicate isRelevantForModels(Callable api) { not api instanceof Util::MainMethod }
|
||||
predicate isRelevantForModels(Callable api) {
|
||||
[api.(Modifiable), api.(Accessor).getDeclaration()].isEffectivelyPublic() and
|
||||
not api instanceof Util::MainMethod
|
||||
}
|
||||
|
||||
/**
|
||||
* A class of callables that are relevant generating summary, source and sinks models for.
|
||||
@@ -18,7 +21,6 @@ predicate isRelevantForModels(Callable api) { not api instanceof Util::MainMetho
|
||||
*/
|
||||
class TargetApi extends DataFlowCallable {
|
||||
TargetApi() {
|
||||
[this.(Modifiable), this.(Accessor).getDeclaration()].isEffectivelyPublic() and
|
||||
this.fromSource() and
|
||||
isRelevantForModels(this)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user