JS: Also rename predicates on API::EntryPoint

This commit is contained in:
Asger Feldthaus
2022-04-05 09:37:30 +02:00
committed by Asger F
parent 19a5db9f89
commit ce9c3b3eb5
13 changed files with 40 additions and 34 deletions

View File

@@ -562,11 +562,17 @@ module API {
bindingset[this]
EntryPoint() { any() }
/** Gets a data-flow node that uses this entry point. */
abstract DataFlow::SourceNode getAUse();
/** DEPRECATED. This predicate has been renamed to `getASource`. */
deprecated DataFlow::SourceNode getAUse() { none() }
/** Gets a data-flow node that defines this entry point. */
abstract DataFlow::Node getARhs();
/** DEPRECATED. This predicate has been renamed to `getASink`. */
deprecated DataFlow::SourceNode getARhs() { none() }
/** Gets a data-flow node where a value enters the current codebase through this entry-point. */
abstract DataFlow::SourceNode getASource();
/** Gets a data-flow node where a value leaves the current codebase through this entry-point. */
abstract DataFlow::Node getASink();
/** Gets an API-node for this entry point. */
API::Node getANode() { result = root().getASuccessor(Label::entryPoint(this)) }
@@ -684,7 +690,7 @@ module API {
base = MkRoot() and
exists(EntryPoint e |
lbl = Label::entryPoint(e) and
rhs = e.getARhs()
rhs = e.getASink()
)
or
exists(string m, string prop |
@@ -861,7 +867,7 @@ module API {
base = MkRoot() and
exists(EntryPoint e |
lbl = Label::entryPoint(e) and
ref = e.getAUse()
ref = e.getASource()
)
or
// property reads

View File

@@ -9,9 +9,9 @@ module D3 {
private class D3GlobalEntry extends API::EntryPoint {
D3GlobalEntry() { this = "D3GlobalEntry" }
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef("d3") }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef("d3") }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/** Gets an API node referring to the `d3` module. */

View File

@@ -8,9 +8,9 @@ module History {
private class HistoryGlobalEntry extends API::EntryPoint {
HistoryGlobalEntry() { this = "HistoryLibrary" }
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef("HistoryLibrary") }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef("HistoryLibrary") }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/**

View File

@@ -16,9 +16,9 @@ private module Immutable {
private class ImmutableGlobalEntry extends API::EntryPoint {
ImmutableGlobalEntry() { this = "ImmutableGlobalEntry" }
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef("Immutable") }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef("Immutable") }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/**

View File

@@ -35,9 +35,9 @@ private module Console {
private class ConsoleGlobalEntry extends API::EntryPoint {
ConsoleGlobalEntry() { this = "ConsoleGlobalEntry" }
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef("console") }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef("console") }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/**

View File

@@ -140,11 +140,11 @@ module NestJS {
private class ValidationNodeEntry extends API::EntryPoint {
ValidationNodeEntry() { this = "ValidationNodeEntry" }
override DataFlow::SourceNode getAUse() {
override DataFlow::SourceNode getASource() {
result.(DataFlow::ClassNode).getName() = "ValidationPipe"
}
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/** Gets an API node referring to the constructor of `ValidationPipe` */

View File

@@ -1096,9 +1096,9 @@ module Redux {
private class HeuristicConnectEntryPoint extends API::EntryPoint {
HeuristicConnectEntryPoint() { this = "react-redux-connect" }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
override DataFlow::SourceNode getAUse() {
override DataFlow::SourceNode getASource() {
exists(DataFlow::CallNode call |
call.getAnArgument().asExpr().(Identifier).getName() =
["mapStateToProps", "mapDispatchToProps"] and

View File

@@ -657,11 +657,11 @@ module Templating {
private class IncludeFunctionAsEntryPoint extends API::EntryPoint {
IncludeFunctionAsEntryPoint() { this = "IncludeFunctionAsEntryPoint" }
override DataFlow::SourceNode getAUse() {
override DataFlow::SourceNode getASource() {
result = any(TemplatePlaceholderTag tag).getInnerTopLevel().getAVariableUse("include")
}
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/**

View File

@@ -14,9 +14,9 @@ module TrustedTypes {
private class TrustedTypesEntry extends API::EntryPoint {
TrustedTypesEntry() { this = "TrustedTypesEntry" }
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef("trustedTypes") }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef("trustedTypes") }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
private API::Node trustedTypesObj() { result = any(TrustedTypesEntry entry).getANode() }

View File

@@ -9,9 +9,9 @@ module Vue {
private class GlobalVueEntryPoint extends API::EntryPoint {
GlobalVueEntryPoint() { this = "VueEntryPoint" }
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef("Vue") }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef("Vue") }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/**
@@ -22,9 +22,9 @@ module Vue {
private class VueExportEntryPoint extends API::EntryPoint {
VueExportEntryPoint() { this = "VueExportEntryPoint" }
override DataFlow::SourceNode getAUse() { none() }
override DataFlow::SourceNode getASource() { none() }
override DataFlow::Node getARhs() {
override DataFlow::Node getASink() {
result = any(SingleFileComponent c).getModule().getDefaultOrBulkExport()
}
}
@@ -484,14 +484,14 @@ module Vue {
private class VueFileImportEntryPoint extends API::EntryPoint {
VueFileImportEntryPoint() { this = "VueFileImportEntryPoint" }
override DataFlow::SourceNode getAUse() {
override DataFlow::SourceNode getASource() {
exists(Import imprt |
imprt.getImportedPath().resolve() instanceof VueFile and
result = imprt.getImportedModuleNode()
)
}
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/**

View File

@@ -61,9 +61,9 @@ private class GlobalApiEntryPoint extends API::EntryPoint {
this = "GlobalApiEntryPoint:" + global
}
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef(global) }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef(global) }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
/** Gets the name of the global variable. */
string getGlobal() { result = global }

View File

@@ -164,9 +164,9 @@ private class ExternalRemoteFlowSourceSpecEntryPoint extends API::EntryPoint {
string getName() { result = name }
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef(name) }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef(name) }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
/**

View File

@@ -1,9 +1,9 @@
class CustomEntryPoint extends API::EntryPoint {
CustomEntryPoint() { this = "CustomEntryPoint" }
override DataFlow::SourceNode getAUse() { result = DataFlow::globalVarRef("CustomEntryPoint") }
override DataFlow::SourceNode getASource() { result = DataFlow::globalVarRef("CustomEntryPoint") }
override DataFlow::Node getARhs() { none() }
override DataFlow::Node getASink() { none() }
}
import ApiGraphs.VerifyAssertions