Skip to content

Commit 637901d

Browse files
committed
Make concepts instances of their ranges
1 parent 066b400 commit 637901d

1 file changed

Lines changed: 6 additions & 14 deletions

File tree

python/ql/src/experimental/semmle/python/Concepts.qll

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -74,23 +74,19 @@ module XMLParsing {
7474
* Extend this class to model new APIs. If you want to refine existing API models,
7575
* extend `XMLParsing` instead.
7676
*/
77-
class XMLParsing extends DataFlow::Node {
78-
XMLParsing::Range range;
79-
80-
XMLParsing() { this = range }
81-
77+
class XMLParsing extends DataFlow::Node instanceof XMLParsing::Range {
8278
/**
8379
* Gets the argument containing the content to parse.
8480
*
8581
* Specifically, this predicate holds whether the XML parsing parses/extends external
8682
* entities in the parsed XML stream.
8783
*/
88-
DataFlow::Node getAnInput() { result = range.getAnInput() }
84+
DataFlow::Node getAnInput() { result = super.getAnInput() }
8985

9086
/**
9187
* Holds if the parser may be parsing the input dangerously.
9288
*/
93-
predicate mayBeDangerous() { range.mayBeDangerous() }
89+
predicate mayBeDangerous() { super.mayBeDangerous() }
9490
}
9591

9692
/** Provides classes for modeling XML parsers. */
@@ -123,23 +119,19 @@ module XMLParser {
123119
* Extend this class to model new APIs. If you want to refine existing API models,
124120
* extend `XMLParser` instead.
125121
*/
126-
class XMLParser extends DataFlow::Node {
127-
XMLParser::Range range;
128-
129-
XMLParser() { this = range }
130-
122+
class XMLParser extends DataFlow::Node instanceof XMLParser::Range {
131123
/**
132124
* Gets the argument containing the content to parse.
133125
*/
134-
DataFlow::Node getAnInput() { result = range.getAnInput() }
126+
DataFlow::Node getAnInput() { result = super.getAnInput() }
135127

136128
/**
137129
* Holds if the parser may be dangerously configured.
138130
*
139131
* Specifically, this predicate holds whether the XML parser parses/extends external
140132
* entities in the parsed XML stream.
141133
*/
142-
predicate mayBeDangerous() { range.mayBeDangerous() }
134+
predicate mayBeDangerous() { super.mayBeDangerous() }
143135
}
144136

145137
/** Provides classes for modeling LDAP query execution-related APIs. */

0 commit comments

Comments
 (0)