Files
codeql/swift/ql/test/library-tests/dataflow/flowsources/FlowConfig.qll
2023-02-20 10:27:40 +00:00

37 lines
1.7 KiB
Plaintext

import swift
import codeql.swift.dataflow.FlowSources
import codeql.swift.dataflow.ExternalFlow
/**
* A models-as-data class expressing custom flow sources for this test. These
* cases ensure that MaD source definitions are able to successfully match a
* range of class fields and member functions.
*/
class CustomTestSourcesCsv extends SourceModelCsv {
override predicate row(string row) {
row =
[
";MySimpleClass;true;source1;;;;remote", ";MySimpleClass;true;source2;;;;remote",
";MySimpleClass;true;source3();;;ReturnValue;remote",
// ---
";MyGeneric;true;source1;;;;remote", ";MyGeneric;true;source2;;;;remote",
";MyGeneric;true;source3();;;ReturnValue;remote", ";MyDerived;true;source4;;;;remote",
";MyDerived;true;source5;;;;remote", ";MyDerived;true;source6();;;ReturnValue;remote",
";MyDerived;true;source7;;;;remote", ";MyDerived;true;source8();;;ReturnValue;remote",
";MyDerived2;true;source9;;;;remote", ";MyDerived2;true;source10;;;;remote",
";MyDerived2;true;source11();;;ReturnValue;remote", ";MyDerived2;true;source12;;;;remote",
";MyDerived2;true;source13();;;ReturnValue;remote",
// ---
";MyParentProtocol;true;source0;;;;remote", ";MyProtocol;true;source1;;;;remote",
";MyProtocol;true;source2;;;;remote",
// ---
";MyParentProtocol2;true;source0;;;;remote", ";MyProtocol2;true;source1;;;;remote",
";MyProtocol2;true;source2;;;;remote",
// ---
";MyProtocol3;true;source1();;;ReturnValue;remote",
";MyProtocol3;true;source2();;;ReturnValue;remote",
";MyProtocol3;true;source3();;;ReturnValue;remote"
]
}
}