Skip to content

Commit 96bae2d

Browse files
author
Stephan Brandauer
committed
Java: avoid downcasting to DollarAtString
1 parent 73aa790 commit 96bae2d

8 files changed

+61
-56
lines changed

java/ql/src/Telemetry/AutomodelApplicationModeCharacteristics.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ class ApplicationModeMetadataExtractor extends string {
171171
}
172172

173173
predicate hasMetadata(
174-
Endpoint e, string package, string type, boolean subtypes, string name, string signature,
174+
Endpoint e, string package, string type, string subtypes, string name, string signature,
175175
string input
176176
) {
177177
exists(Call call, Callable callable, int argIdx |
@@ -184,7 +184,7 @@ class ApplicationModeMetadataExtractor extends string {
184184
input = AutomodelSharedUtil::getArgumentForIndex(argIdx) and
185185
package = callable.getDeclaringType().getPackage().getName() and
186186
type = callable.getDeclaringType().getErasure().(RefType).nestedName() and
187-
subtypes = this.considerSubtypes(callable) and
187+
subtypes = this.considerSubtypes(callable).toString() and
188188
name = callable.getName() and
189189
signature = ExternalFlow::paramsString(callable)
190190
)

java/ql/src/Telemetry/AutomodelApplicationModeExtractCandidates.ql

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ private import AutomodelApplicationModeCharacteristics
1616
private import AutomodelSharedUtil
1717

1818
from
19-
Endpoint endpoint, string message, ApplicationModeMetadataExtractor meta, string package,
20-
string type, boolean subtypes, string name, string signature, string input
19+
Endpoint endpoint, string message, ApplicationModeMetadataExtractor meta, DollarAtString package,
20+
DollarAtString type, DollarAtString subtypes, DollarAtString name, DollarAtString signature,
21+
DollarAtString input
2122
where
2223
not exists(CharacteristicsImpl::UninterestingToModelCharacteristic u |
2324
u.appliesToEndpoint(endpoint)
@@ -40,9 +41,9 @@ where
4041
)
4142
select endpoint, message + "\nrelated locations: $@." + "\nmetadata: $@, $@, $@, $@, $@, $@.", //
4243
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, CallContext()), "CallContext", //
43-
package.(DollarAtString), "package", //
44-
type.(DollarAtString), "type", //
45-
subtypes.toString().(DollarAtString), "subtypes", //
46-
name.(DollarAtString), "name", // method name
47-
signature.(DollarAtString), "signature", //
48-
input.(DollarAtString), "input" //
44+
package, "package", //
45+
type, "type", //
46+
subtypes, "subtypes", //
47+
name, "name", // method name
48+
signature, "signature", //
49+
input, "input" //

java/ql/src/Telemetry/AutomodelApplicationModeExtractNegativeExamples.ql

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ Endpoint getSampleForCharacteristic(EndpointCharacteristic c, int limit) {
3535

3636
from
3737
Endpoint endpoint, EndpointCharacteristic characteristic, float confidence, string message,
38-
ApplicationModeMetadataExtractor meta, string package, string type, boolean subtypes, string name,
39-
string signature, string input
38+
ApplicationModeMetadataExtractor meta, DollarAtString package, DollarAtString type,
39+
DollarAtString subtypes, DollarAtString name, DollarAtString signature, DollarAtString input
4040
where
4141
endpoint = getSampleForCharacteristic(characteristic, 100) and
4242
confidence >= SharedCharacteristics::highConfidence() and
@@ -58,9 +58,9 @@ where
5858
message = characteristic
5959
select endpoint, message + "\nrelated locations: $@." + "\nmetadata: $@, $@, $@, $@, $@, $@.", //
6060
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, CallContext()), "CallContext", //
61-
package.(DollarAtString), "package", //
62-
type.(DollarAtString), "type", //
63-
subtypes.toString().(DollarAtString), "subtypes", //
64-
name.(DollarAtString), "name", //
65-
signature.(DollarAtString), "signature", //
66-
input.(DollarAtString), "input" //
61+
package, "package", //
62+
type, "type", //
63+
subtypes, "subtypes", //
64+
name, "name", //
65+
signature, "signature", //
66+
input, "input" //

java/ql/src/Telemetry/AutomodelApplicationModeExtractPositiveExamples.ql

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ private import AutomodelEndpointTypes
1313
private import AutomodelSharedUtil
1414

1515
from
16-
Endpoint endpoint, SinkType sinkType, ApplicationModeMetadataExtractor meta, string package,
17-
string type, boolean subtypes, string name, string signature, string input
16+
Endpoint endpoint, SinkType sinkType, ApplicationModeMetadataExtractor meta,
17+
DollarAtString package, DollarAtString type, DollarAtString subtypes, DollarAtString name,
18+
DollarAtString signature, DollarAtString input
1819
where
1920
// Exclude endpoints that have contradictory endpoint characteristics, because we only want examples we're highly
2021
// certain about in the prompt.
@@ -24,9 +25,9 @@ where
2425
CharacteristicsImpl::isKnownSink(endpoint, sinkType)
2526
select endpoint, sinkType + "\nrelated locations: $@." + "\nmetadata: $@, $@, $@, $@, $@, $@.", //
2627
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, CallContext()), "CallContext", //
27-
package.(DollarAtString), "package", //
28-
type.(DollarAtString), "type", //
29-
subtypes.toString().(DollarAtString), "subtypes", //
30-
name.(DollarAtString), "name", //
31-
signature.(DollarAtString), "signature", //
32-
input.(DollarAtString), "input" //
28+
package, "package", //
29+
type, "type", //
30+
subtypes, "subtypes", //
31+
name, "name", //
32+
signature, "signature", //
33+
input, "input" //

java/ql/src/Telemetry/AutomodelFrameworkModeCharacteristics.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,15 @@ class FrameworkModeMetadataExtractor extends string {
129129
}
130130

131131
predicate hasMetadata(
132-
Endpoint e, string package, string type, boolean subtypes, string name, string signature,
132+
Endpoint e, string package, string type, string subtypes, string name, string signature,
133133
string input, string parameterName
134134
) {
135135
exists(Callable callable, int paramIdx |
136136
e.asParameter() = callable.getParameter(paramIdx) and
137137
input = AutomodelSharedUtil::getArgumentForIndex(paramIdx) and
138138
package = callable.getDeclaringType().getPackage().getName() and
139139
type = callable.getDeclaringType().getErasure().(RefType).nestedName() and
140-
subtypes = this.considerSubtypes(callable) and
140+
subtypes = this.considerSubtypes(callable).toString() and
141141
name = callable.getName() and
142142
parameterName = e.asParameter().getName() and
143143
signature = ExternalFlow::paramsString(callable)

java/ql/src/Telemetry/AutomodelFrameworkModeExtractCandidates.ql

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ private import AutomodelFrameworkModeCharacteristics
1616
private import AutomodelSharedUtil
1717

1818
from
19-
Endpoint endpoint, string message, FrameworkModeMetadataExtractor meta, string package,
20-
string type, boolean subtypes, string name, string signature, string input, string parameterName
19+
Endpoint endpoint, string message, FrameworkModeMetadataExtractor meta, DollarAtString package,
20+
DollarAtString type, DollarAtString subtypes, DollarAtString name, DollarAtString signature,
21+
DollarAtString input, DollarAtString parameterName
2122
where
2223
not exists(CharacteristicsImpl::UninterestingToModelCharacteristic u |
2324
u.appliesToEndpoint(endpoint)
@@ -42,10 +43,10 @@ select endpoint,
4243
message + "\nrelated locations: $@, $@." + "\nmetadata: $@, $@, $@, $@, $@, $@, $@.", //
4344
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, MethodDoc()), "MethodDoc", //
4445
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, ClassDoc()), "ClassDoc", //
45-
package.(DollarAtString), "package", //
46-
type.(DollarAtString), "type", //
47-
subtypes.toString().(DollarAtString), "subtypes", //
48-
name.(DollarAtString), "name", //
49-
signature.(DollarAtString), "signature", //
50-
input.(DollarAtString), "input", //
51-
parameterName.(DollarAtString), "parameterName" //
46+
package, "package", //
47+
type, "type", //
48+
subtypes, "subtypes", //
49+
name, "name", //
50+
signature, "signature", //
51+
input, "input", //
52+
parameterName, "parameterName" //

java/ql/src/Telemetry/AutomodelFrameworkModeExtractNegativeExamples.ql

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ private import AutomodelEndpointTypes
1313
private import AutomodelSharedUtil
1414

1515
from
16-
Endpoint endpoint, EndpointCharacteristic characteristic, float confidence, string message,
17-
FrameworkModeMetadataExtractor meta, string package, string type, boolean subtypes, string name,
18-
string signature, string input, string parameterName
16+
Endpoint endpoint, EndpointCharacteristic characteristic, float confidence,
17+
DollarAtString message, FrameworkModeMetadataExtractor meta, DollarAtString package,
18+
DollarAtString type, DollarAtString subtypes, DollarAtString name, DollarAtString signature,
19+
DollarAtString input, DollarAtString parameterName
1920
where
2021
characteristic.appliesToEndpoint(endpoint) and
2122
confidence >= SharedCharacteristics::highConfidence() and
@@ -39,10 +40,10 @@ select endpoint,
3940
message + "\nrelated locations: $@, $@." + "\nmetadata: $@, $@, $@, $@, $@, $@, $@.", //
4041
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, MethodDoc()), "MethodDoc", //
4142
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, ClassDoc()), "ClassDoc", //
42-
package.(DollarAtString), "package", //
43-
type.(DollarAtString), "type", //
44-
subtypes.toString().(DollarAtString), "subtypes", //
45-
name.(DollarAtString), "name", //
46-
signature.(DollarAtString), "signature", //
47-
input.(DollarAtString), "input", //
48-
parameterName.(DollarAtString), "parameterName" //
43+
package, "package", //
44+
type, "type", //
45+
subtypes, "subtypes", //
46+
name, "name", //
47+
signature, "signature", //
48+
input, "input", //
49+
parameterName, "parameterName" //

java/ql/src/Telemetry/AutomodelFrameworkModeExtractPositiveExamples.ql

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ private import AutomodelEndpointTypes
1313
private import AutomodelSharedUtil
1414

1515
from
16-
Endpoint endpoint, SinkType sinkType, FrameworkModeMetadataExtractor meta, string package,
17-
string type, boolean subtypes, string name, string signature, string input, string parameterName
16+
Endpoint endpoint, SinkType sinkType, FrameworkModeMetadataExtractor meta, DollarAtString package,
17+
DollarAtString type, DollarAtString subtypes, DollarAtString name, DollarAtString signature,
18+
DollarAtString input, DollarAtString parameterName
1819
where
1920
// Exclude endpoints that have contradictory endpoint characteristics, because we only want examples we're highly
2021
// certain about in the prompt.
@@ -26,10 +27,10 @@ select endpoint,
2627
sinkType + "\nrelated locations: $@, $@." + "\nmetadata: $@, $@, $@, $@, $@, $@, $@.", //
2728
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, MethodDoc()), "MethodDoc", //
2829
CharacteristicsImpl::getRelatedLocationOrCandidate(endpoint, ClassDoc()), "ClassDoc", //
29-
package.(DollarAtString), "package", //
30-
type.(DollarAtString), "type", //
31-
subtypes.toString().(DollarAtString), "subtypes", //
32-
name.(DollarAtString), "name", //
33-
signature.(DollarAtString), "signature", //
34-
input.(DollarAtString), "input", //
35-
parameterName.(DollarAtString), "parameterName" //
30+
package, "package", //
31+
type, "type", //
32+
subtypes, "subtypes", //
33+
name, "name", //
34+
signature, "signature", //
35+
input, "input", //
36+
parameterName, "parameterName" //

0 commit comments

Comments
 (0)