File tree Expand file tree Collapse file tree
cpp/ql/src/semmle/code/cpp/models Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -48,10 +48,10 @@ private class StdIterator extends Class {
4848}
4949
5050/**
51- * A type which can be used as an iterator
51+ * Implements `Iterator`.
5252 */
53- class Iterator extends Type {
54- Iterator ( ) {
53+ private class IteratorImpl extends Iterator {
54+ IteratorImpl ( ) {
5555 this instanceof IteratorByTypedefs or
5656 exists ( IteratorTraits it | it .getIteratorType ( ) = this ) or
5757 this instanceof StdIterator
Original file line number Diff line number Diff line change 33 */
44
55import semmle.code.cpp.models.interfaces.Taint
6- import semmle.code.cpp.models.implementations .Iterator
6+ import semmle.code.cpp.models.interfaces .Iterator
77
88/**
99 * Additional model for standard container constructors that reference the
Original file line number Diff line number Diff line change 33 */
44
55import semmle.code.cpp.models.interfaces.Taint
6- import semmle.code.cpp.models.implementations .Iterator
6+ import semmle.code.cpp.models.interfaces .Iterator
77
88/**
99 * Additional model for map constructors using iterator inputs.
Original file line number Diff line number Diff line change 33 */
44
55import semmle.code.cpp.models.interfaces.Taint
6- import semmle.code.cpp.models.implementations .Iterator
6+ import semmle.code.cpp.models.interfaces .Iterator
77
88/**
99 * Additional model for set constructors using iterator inputs.
Original file line number Diff line number Diff line change 55 */
66
77import semmle.code.cpp.models.interfaces.Taint
8- import semmle.code.cpp.models.implementations.Iterator
8+ import semmle.code.cpp.models.interfaces.Iterator
9+ import semmle.code.cpp.models.interfaces.DataFlow
910
1011/**
1112 * The `std::basic_string` template class.
Original file line number Diff line number Diff line change @@ -26,3 +26,9 @@ abstract class GetIteratorFunction extends Function {
2626 */
2727 abstract predicate getsIterator ( FunctionInput input , FunctionOutput output ) ;
2828}
29+
30+ /**
31+ * A type which can be used as an iterator.
32+ */
33+ abstract class Iterator extends Type {
34+ }
You can’t perform that action at this time.
0 commit comments