mirror of
https://github.com/github/codeql.git
synced 2026-05-19 13:48:30 +02:00
rename new features
This commit is contained in:
committed by
Esben Sparre Andreasen
parent
b3f09e0203
commit
446fbcdbe1
@@ -232,10 +232,10 @@ private newtype TEndpointFeature =
|
||||
TCalleeAccessPath() or
|
||||
TCalleeAccessPathWithStructuralInfo() or
|
||||
TEnclosingFunctionBody() or
|
||||
TCalleeAccessPathSimpleFromArgumentTraversal() or
|
||||
TParameterAccessPathSimpleFromArgumentTraversal() or
|
||||
TPropertyAccessPathSimpleFromArgumentTraversal() or
|
||||
TArgumentIndexFromArgumentTraversal()
|
||||
TCallee_AccessPath() or
|
||||
TInput_ArgumentIndexAndAccessPathFromCallee() or
|
||||
TInput_AccessPathFromCallee() or
|
||||
TInput_ArgumentIndex()
|
||||
|
||||
/**
|
||||
* An implementation of an endpoint feature: produces feature names and values for used in ML.
|
||||
@@ -534,9 +534,8 @@ string getPropertyNameOrUnknown(DataFlow::PropRef ref) {
|
||||
*
|
||||
* This feature is intended as a superior version of the many `Callee*` features.
|
||||
*/
|
||||
class CalleeAccessPathSimpleFromArgumentTraversal extends EndpointFeature,
|
||||
TCalleeAccessPathSimpleFromArgumentTraversal {
|
||||
override string getName() { result = "calleeAccessPathSimpleFromArgumentTraversal" }
|
||||
class Callee_AccessPath extends EndpointFeature, TCallee_AccessPath {
|
||||
override string getName() { result = "Callee_AccessPath" }
|
||||
|
||||
override string getValue(DataFlow::Node endpoint) {
|
||||
exists(DataFlow::InvokeNode invk |
|
||||
@@ -562,9 +561,9 @@ class CalleeAccessPathSimpleFromArgumentTraversal extends EndpointFeature,
|
||||
*
|
||||
* This feature is intended as a superior version of the `ArgumentIndexFeature`.
|
||||
*/
|
||||
class ParameterAccessPathSimpleFromArgumentTraversal extends EndpointFeature,
|
||||
TParameterAccessPathSimpleFromArgumentTraversal {
|
||||
override string getName() { result = "ParameterAccessPathSimpleFromArgumentTraversal" }
|
||||
class Input_ArgumentIndexAndAccessPathFromCallee extends EndpointFeature,
|
||||
TInput_ArgumentIndexAndAccessPathFromCallee {
|
||||
override string getName() { result = "Input_ArgumentIndexAndAccessPathFromCallee" }
|
||||
|
||||
override string getValue(DataFlow::Node endpoint) {
|
||||
exists(DataFlow::InvokeNode invk |
|
||||
@@ -580,15 +579,14 @@ class ParameterAccessPathSimpleFromArgumentTraversal extends EndpointFeature,
|
||||
}
|
||||
|
||||
/**
|
||||
* The feature for how a callee can refer to a the endpoint that is "contained" in a some argument to a call
|
||||
* The feature for how a callee can refer to a the endpoint that is "contained" in some argument to a call
|
||||
*
|
||||
* "Containment" is syntactic, and currently means that the endpoint is an argument to the call, or that the endpoint is a (nested) property value of an argument.
|
||||
*
|
||||
* This feature is intended as a superior version of the `ArgumentIndexFeature`.
|
||||
*/
|
||||
class PropertyAccessPathSimpleFromArgumentTraversal extends EndpointFeature,
|
||||
TPropertyAccessPathSimpleFromArgumentTraversal {
|
||||
override string getName() { result = "PropertyAccessPathSimpleFromArgumentTraversal" }
|
||||
class Input_AccessPathFromCallee extends EndpointFeature, TInput_AccessPathFromCallee {
|
||||
override string getName() { result = "Input_AccessPathFromCallee" }
|
||||
|
||||
private string getValueMaybe(DataFlow::Node endpoint) {
|
||||
exists(DataFlow::InvokeNode invk |
|
||||
@@ -613,9 +611,8 @@ class PropertyAccessPathSimpleFromArgumentTraversal extends EndpointFeature,
|
||||
*
|
||||
* This feature is intended as a superior version of the `ArgumentIndexFeature`.
|
||||
*/
|
||||
class ArgumentIndexFromArgumentTraversal extends EndpointFeature,
|
||||
TArgumentIndexFromArgumentTraversal {
|
||||
override string getName() { result = "ArgumentIndexFromArgumentTraversal" }
|
||||
class Input_ArgumentIndex extends EndpointFeature, TInput_ArgumentIndex {
|
||||
override string getName() { result = "Input_ArgumentIndex" }
|
||||
|
||||
override string getValue(DataFlow::Node endpoint) {
|
||||
exists(DataFlow::InvokeNode invk, DataFlow::Node arg, int i | arg = invk.getArgument(i) |
|
||||
|
||||
@@ -13,7 +13,7 @@ from
|
||||
DataFlow::Node endpoint, EndpointFeature feature1, EndpointFeature feature2, string featureValue1,
|
||||
string featureValue2
|
||||
where
|
||||
feature1 instanceof ArgumentIndexFromArgumentTraversal and
|
||||
feature1 instanceof Input_ArgumentIndex and
|
||||
feature2 instanceof ArgumentIndex and
|
||||
featureValue1 = getValueOrNone(feature1, endpoint) and
|
||||
featureValue2 = getValueOrNone(feature2, endpoint) and
|
||||
|
||||
@@ -1,93 +1,93 @@
|
||||
| test.html:2:61:2:68 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.html:2:61:2:68 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0 |
|
||||
| test.html:2:61:2:68 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.html:2:61:2:68 | endpoint | Callee_AccessPath | $event.target.files.item |
|
||||
| test.html:2:61:2:68 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.html:2:61:2:68 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.html:2:61:2:68 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0 |
|
||||
| test.html:2:61:2:68 | endpoint | argumentIndex | 0 |
|
||||
| test.html:2:61:2:68 | endpoint | calleeAccessPath | |
|
||||
| test.html:2:61:2:68 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | $event.target.files.item |
|
||||
| test.html:2:61:2:68 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.html:2:61:2:68 | endpoint | calleeName | item |
|
||||
| test.js:2:7:2:14 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:2:7:2:14 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0 |
|
||||
| test.js:2:7:2:14 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.js:2:7:2:14 | endpoint | Callee_AccessPath | f |
|
||||
| test.js:2:7:2:14 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.js:2:7:2:14 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:2:7:2:14 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0 |
|
||||
| test.js:2:7:2:14 | endpoint | argumentIndex | 0 |
|
||||
| test.js:2:7:2:14 | endpoint | calleeAccessPath | |
|
||||
| test.js:2:7:2:14 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | f |
|
||||
| test.js:2:7:2:14 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:2:7:2:14 | endpoint | calleeName | f |
|
||||
| test.js:3:11:3:18 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:3:11:3:18 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0.p |
|
||||
| test.js:3:11:3:18 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | 0.p |
|
||||
| test.js:3:11:3:18 | endpoint | Callee_AccessPath | f |
|
||||
| test.js:3:11:3:18 | endpoint | Input_AccessPathFromCallee | 0.p |
|
||||
| test.js:3:11:3:18 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:3:11:3:18 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0.p |
|
||||
| test.js:3:11:3:18 | endpoint | calleeAccessPath | |
|
||||
| test.js:3:11:3:18 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | f |
|
||||
| test.js:3:11:3:18 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:4:15:4:22 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:4:15:4:22 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0.p.q |
|
||||
| test.js:4:15:4:22 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | 0.p.q |
|
||||
| test.js:4:15:4:22 | endpoint | Callee_AccessPath | f |
|
||||
| test.js:4:15:4:22 | endpoint | Input_AccessPathFromCallee | 0.p.q |
|
||||
| test.js:4:15:4:22 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:4:15:4:22 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0.p.q |
|
||||
| test.js:4:15:4:22 | endpoint | calleeAccessPath | |
|
||||
| test.js:4:15:4:22 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | f |
|
||||
| test.js:4:15:4:22 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:5:9:5:16 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:5:9:5:16 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0 |
|
||||
| test.js:5:9:5:16 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.js:5:9:5:16 | endpoint | Callee_AccessPath | o.m |
|
||||
| test.js:5:9:5:16 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.js:5:9:5:16 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:5:9:5:16 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0 |
|
||||
| test.js:5:9:5:16 | endpoint | argumentIndex | 0 |
|
||||
| test.js:5:9:5:16 | endpoint | calleeAccessPath | |
|
||||
| test.js:5:9:5:16 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | o.m |
|
||||
| test.js:5:9:5:16 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:5:9:5:16 | endpoint | calleeName | m |
|
||||
| test.js:5:9:5:16 | endpoint | receiverName | o |
|
||||
| test.js:6:13:6:20 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:6:13:6:20 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0.p |
|
||||
| test.js:6:13:6:20 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | 0.p |
|
||||
| test.js:6:13:6:20 | endpoint | Callee_AccessPath | o.m |
|
||||
| test.js:6:13:6:20 | endpoint | Input_AccessPathFromCallee | 0.p |
|
||||
| test.js:6:13:6:20 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:6:13:6:20 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0.p |
|
||||
| test.js:6:13:6:20 | endpoint | calleeAccessPath | |
|
||||
| test.js:6:13:6:20 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | o.m |
|
||||
| test.js:6:13:6:20 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:7:17:7:24 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:7:17:7:24 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0.p.q |
|
||||
| test.js:7:17:7:24 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | 0.p.q |
|
||||
| test.js:7:17:7:24 | endpoint | Callee_AccessPath | o.m |
|
||||
| test.js:7:17:7:24 | endpoint | Input_AccessPathFromCallee | 0.p.q |
|
||||
| test.js:7:17:7:24 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:7:17:7:24 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0.p.q |
|
||||
| test.js:7:17:7:24 | endpoint | calleeAccessPath | |
|
||||
| test.js:7:17:7:24 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | o.m |
|
||||
| test.js:7:17:7:24 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:8:11:8:18 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:8:11:8:18 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | ? |
|
||||
| test.js:8:11:8:18 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.js:8:11:8:18 | endpoint | Callee_AccessPath | F |
|
||||
| test.js:8:11:8:18 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.js:8:11:8:18 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:8:11:8:18 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | ? |
|
||||
| test.js:8:11:8:18 | endpoint | calleeAccessPath | |
|
||||
| test.js:8:11:8:18 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | F |
|
||||
| test.js:8:11:8:18 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:9:17:9:24 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:9:17:9:24 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0 |
|
||||
| test.js:9:17:9:24 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.js:9:17:9:24 | endpoint | Callee_AccessPath | o.m().m().m |
|
||||
| test.js:9:17:9:24 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.js:9:17:9:24 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:9:17:9:24 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0 |
|
||||
| test.js:9:17:9:24 | endpoint | argumentIndex | 0 |
|
||||
| test.js:9:17:9:24 | endpoint | calleeAccessPath | |
|
||||
| test.js:9:17:9:24 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | o.m().m().m |
|
||||
| test.js:9:17:9:24 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:9:17:9:24 | endpoint | calleeName | m |
|
||||
| test.js:10:9:10:16 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:10:9:10:16 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0 |
|
||||
| test.js:10:9:10:16 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.js:10:9:10:16 | endpoint | Callee_AccessPath | f() |
|
||||
| test.js:10:9:10:16 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.js:10:9:10:16 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:10:9:10:16 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0 |
|
||||
| test.js:10:9:10:16 | endpoint | argumentIndex | 0 |
|
||||
| test.js:10:9:10:16 | endpoint | calleeAccessPath | |
|
||||
| test.js:10:9:10:16 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | f() |
|
||||
| test.js:10:9:10:16 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:11:12:11:19 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:11:12:11:19 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0 |
|
||||
| test.js:11:12:11:19 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.js:11:12:11:19 | endpoint | Callee_AccessPath | o.?.m |
|
||||
| test.js:11:12:11:19 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.js:11:12:11:19 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:11:12:11:19 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0 |
|
||||
| test.js:11:12:11:19 | endpoint | argumentIndex | 0 |
|
||||
| test.js:11:12:11:19 | endpoint | calleeAccessPath | |
|
||||
| test.js:11:12:11:19 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | o.?.m |
|
||||
| test.js:11:12:11:19 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:11:12:11:19 | endpoint | calleeName | m |
|
||||
| test.js:12:16:12:23 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:12:16:12:23 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0 |
|
||||
| test.js:12:16:12:23 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.js:12:16:12:23 | endpoint | Callee_AccessPath | o.m.?.p.m |
|
||||
| test.js:12:16:12:23 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.js:12:16:12:23 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:12:16:12:23 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0 |
|
||||
| test.js:12:16:12:23 | endpoint | argumentIndex | 0 |
|
||||
| test.js:12:16:12:23 | endpoint | calleeAccessPath | |
|
||||
| test.js:12:16:12:23 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | o.m.?.p.m |
|
||||
| test.js:12:16:12:23 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
| test.js:12:16:12:23 | endpoint | calleeName | m |
|
||||
| test.js:13:15:13:22 | endpoint | ArgumentIndexFromArgumentTraversal | 0 |
|
||||
| test.js:13:15:13:22 | endpoint | ParameterAccessPathSimpleFromArgumentTraversal | 0 |
|
||||
| test.js:13:15:13:22 | endpoint | PropertyAccessPathSimpleFromArgumentTraversal | |
|
||||
| test.js:13:15:13:22 | endpoint | Callee_AccessPath | (await p) |
|
||||
| test.js:13:15:13:22 | endpoint | Input_AccessPathFromCallee | |
|
||||
| test.js:13:15:13:22 | endpoint | Input_ArgumentIndex | 0 |
|
||||
| test.js:13:15:13:22 | endpoint | Input_ArgumentIndexAndAccessPathFromCallee | 0 |
|
||||
| test.js:13:15:13:22 | endpoint | argumentIndex | 0 |
|
||||
| test.js:13:15:13:22 | endpoint | calleeAccessPath | |
|
||||
| test.js:13:15:13:22 | endpoint | calleeAccessPathSimpleFromArgumentTraversal | (await p) |
|
||||
| test.js:13:15:13:22 | endpoint | calleeAccessPathWithStructuralInfo | |
|
||||
|
||||
Reference in New Issue
Block a user