Skip to content

Commit 5334e90

Browse files
committed
Make FlowAwareElement private
1 parent c66ec63 commit 5334e90

File tree

1 file changed

+6
-4
lines changed
  • shared/quantum/codeql/quantum/experimental

1 file changed

+6
-4
lines changed

shared/quantum/codeql/quantum/experimental/Model.qll

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ module CryptographyBase<LocationSig Location, InputSig<Location> Input> {
130130
/**
131131
* An element that is flow-aware, i.e., it has an input and output node implicitly used for data flow analysis.
132132
*/
133-
abstract class FlowAwareElement extends LocatableElement {
133+
abstract private class FlowAwareElementImpl extends LocatableElement {
134134
/**
135135
* Gets the output node for this element, which should usually be the same as `this`.
136136
*/
@@ -155,6 +155,8 @@ module CryptographyBase<LocationSig Location, InputSig<Location> Input> {
155155
abstract predicate flowsTo(FlowAwareElement other);
156156
}
157157

158+
final class FlowAwareElement = FlowAwareElementImpl;
159+
158160
/**
159161
* An element that represents a _known_ cryptographic asset with a determinable value OR an artifact.
160162
*
@@ -187,7 +189,7 @@ module CryptographyBase<LocationSig Location, InputSig<Location> Input> {
187189
* 1. A value (e.g., a string or integer literal) *or*
188190
* 1. An input for which a value cannot be determined (e.g., `argv`, file system reads, and web request headers)
189191
*/
190-
abstract class GenericSourceInstance extends FlowAwareElement {
192+
abstract class GenericSourceInstance extends FlowAwareElementImpl {
191193
final override ConsumerInputDataFlowNode getInputNode() { none() }
192194

193195
abstract string getInternalType();
@@ -257,7 +259,7 @@ module CryptographyBase<LocationSig Location, InputSig<Location> Input> {
257259
*
258260
* A consumer can consume multiple instances and types of assets at once, e.g., both a `PaddingAlgorithm` and `CipherAlgorithm`.
259261
*/
260-
abstract private class ConsumerElement extends FlowAwareElement {
262+
abstract private class ConsumerElement extends FlowAwareElementImpl {
261263
abstract KnownElement getAKnownSource();
262264

263265
override predicate flowsTo(FlowAwareElement other) { none() }
@@ -337,7 +339,7 @@ module CryptographyBase<LocationSig Location, InputSig<Location> Input> {
337339
/**
338340
* An element that represents a _known_ cryptographic artifact.
339341
*/
340-
abstract class ArtifactInstance extends KnownElement, FlowAwareElement {
342+
abstract class ArtifactInstance extends KnownElement, FlowAwareElementImpl {
341343
abstract predicate isConsumerArtifact(); // whether this is an input artifact defined by its consumer
342344
}
343345

0 commit comments

Comments
 (0)