Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7c3bc26

Browse files
author
Stephan Brandauer
committed
Java: make input an actual string, not an integer
1 parent 185ad10 commit 7c3bc26

6 files changed

Lines changed: 18 additions & 17 deletions

java/ql/src/Telemetry/AutomodelApplicationModeCharacteristics.qll

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ abstract class MetadataExtractor extends string {
2727

2828
abstract predicate hasMetadata(
2929
Endpoint e, string package, string type, boolean subtypes, string name, string signature,
30-
int input
30+
string input
3131
);
3232
}
3333

@@ -182,14 +182,14 @@ class FrameworkModeMetadataExtractor extends MetadataExtractor {
182182

183183
override predicate hasMetadata(
184184
Endpoint e, string package, string type, boolean subtypes, string name, string signature,
185-
int input
185+
string input
186186
) {
187-
exists(Call call, Callable callable |
187+
exists(Call call, Callable callable, int argIdx |
188188
call.getCallee() = callable and
189189
(
190-
e.asExpr() = call.getArgument(input)
190+
e.asExpr() = call.getArgument(argIdx) and input = "Argument[" + argIdx + "]"
191191
or
192-
e.asExpr() = call.getQualifier() and input = -1
192+
e.asExpr() = call.getQualifier() and argIdx = -1 and input = "Argument[this]"
193193
) and
194194
package = callable.getDeclaringType().getPackage().getName() and
195195
type = callable.getDeclaringType().getErasure().(RefType).nestedName() and

java/ql/src/Telemetry/AutomodelApplicationModeExtractCandidates.ql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ private import AutomodelSharedUtil
1717

1818
from
1919
Endpoint endpoint, string message, MetadataExtractor meta, string package, string type,
20-
boolean subtypes, string name, string signature, int input
20+
boolean subtypes, string name, string signature, string input
2121
where
2222
not exists(CharacteristicsImpl::UninterestingToModelCharacteristic u |
2323
u.appliesToEndpoint(endpoint)
@@ -45,4 +45,4 @@ select endpoint, message + "\nrelated locations: $@." + "\nmetadata: $@, $@, $@,
4545
subtypes.toString().(DollarAtString), "subtypes", //
4646
name.(DollarAtString), "name", // method name
4747
signature.(DollarAtString), "signature", //
48-
input.toString().(DollarAtString), "input" //
48+
input.(DollarAtString), "input" //

java/ql/src/Telemetry/AutomodelFrameworkModeCharacteristics.qll

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ abstract class MetadataExtractor extends string {
2727

2828
abstract predicate hasMetadata(
2929
DataFlow::ParameterNode e, string package, string type, boolean subtypes, string name,
30-
string signature, int input, string parameterName
30+
string signature, string input, string parameterName
3131
);
3232
}
3333

@@ -167,10 +167,11 @@ class FrameworkModeMetadataExtractor extends MetadataExtractor {
167167

168168
override predicate hasMetadata(
169169
Endpoint e, string package, string type, boolean subtypes, string name, string signature,
170-
int input, string parameterName
170+
string input, string parameterName
171171
) {
172-
exists(Callable callable |
173-
e.asParameter() = callable.getParameter(input) and
172+
exists(Callable callable, int paramIdx |
173+
e.asParameter() = callable.getParameter(paramIdx) and
174+
(if paramIdx = -1 then input = "Argument[this]" else input = "Argument[" + paramIdx + "]") and
174175
package = callable.getDeclaringType().getPackage().getName() and
175176
type = callable.getDeclaringType().getErasure().(RefType).nestedName() and
176177
subtypes = this.considerSubtypes(callable) and

java/ql/src/Telemetry/AutomodelFrameworkModeExtractCandidates.ql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ private import AutomodelSharedUtil
1717

1818
from
1919
Endpoint endpoint, string message, MetadataExtractor meta, string package, string type,
20-
boolean subtypes, string name, string signature, int input, string parameterName
20+
boolean subtypes, string name, string signature, string input, string parameterName
2121
where
2222
not exists(CharacteristicsImpl::UninterestingToModelCharacteristic u |
2323
u.appliesToEndpoint(endpoint)
@@ -47,5 +47,5 @@ select endpoint,
4747
subtypes.toString().(DollarAtString), "subtypes", //
4848
name.(DollarAtString), "name", //
4949
signature.(DollarAtString), "signature", //
50-
input.toString().(DollarAtString), "input", //
50+
input.(DollarAtString), "input", //
5151
parameterName.(DollarAtString), "parameterName" //

java/ql/src/Telemetry/AutomodelFrameworkModeExtractNegativeExamples.ql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ private import AutomodelSharedUtil
1515
from
1616
Endpoint endpoint, EndpointCharacteristic characteristic, float confidence, string message,
1717
MetadataExtractor meta, string package, string type, boolean subtypes, string name,
18-
string signature, int input, string parameterName
18+
string signature, string input, string parameterName
1919
where
2020
characteristic.appliesToEndpoint(endpoint) and
2121
confidence >= SharedCharacteristics::highConfidence() and
@@ -44,5 +44,5 @@ select endpoint,
4444
subtypes.toString().(DollarAtString), "subtypes", //
4545
name.(DollarAtString), "name", //
4646
signature.(DollarAtString), "signature", //
47-
input.toString().(DollarAtString), "input", //
47+
input.(DollarAtString), "input", //
4848
parameterName.(DollarAtString), "parameterName" //

java/ql/src/Telemetry/AutomodelFrameworkModeExtractPositiveExamples.ql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ private import AutomodelSharedUtil
1414

1515
from
1616
Endpoint endpoint, SinkType sinkType, MetadataExtractor meta, string package, string type,
17-
boolean subtypes, string name, string signature, int input, string parameterName
17+
boolean subtypes, string name, string signature, string input, string parameterName
1818
where
1919
// Exclude endpoints that have contradictory endpoint characteristics, because we only want examples we're highly
2020
// certain about in the prompt.
@@ -31,5 +31,5 @@ select endpoint,
3131
subtypes.toString().(DollarAtString), "subtypes", //
3232
name.(DollarAtString), "name", //
3333
signature.(DollarAtString), "signature", //
34-
input.toString().(DollarAtString), "input", //
34+
input.(DollarAtString), "input", //
3535
parameterName.(DollarAtString), "parameterName" //

0 commit comments

Comments
 (0)