mirror of
https://github.com/github/codeql.git
synced 2026-04-26 09:15:12 +02:00
C++: Add MaD model for 'CAtlArray'.
This commit is contained in:
15
cpp/ql/lib/ext/CAtlArray.model.yml
Normal file
15
cpp/ql/lib/ext/CAtlArray.model.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/cpp-all
|
||||
extensible: summaryModel
|
||||
data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance
|
||||
- ["", "CAtlArray", True, "Add", "", "", "Argument[*@0]", "Argument[-1].Element[@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "Append", "", "", "Argument[*0].Element[@]", "Argument[-1].Element[@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "Copy", "", "", "Argument[*0].Element[@]", "Argument[-1].Element[@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "GetAt", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "GetData", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "InsertArrayAt", "", "", "Argument[*1].Element[@]", "Argument[-1].Element[@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "InsertAt", "", "", "Argument[@1]", "Argument[-1].Element[@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "SetAt", "", "", "Argument[@1]", "Argument[-1].Element[@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "SetAtGrow", "", "", "Argument[@1]", "Argument[-1].Element[@]", "value", "manual"]
|
||||
- ["", "CAtlArray", True, "operator[]", "", "", "Argument[-1].Element[@]", "ReturnValue[*]", "value", "manual"]
|
||||
@@ -217,35 +217,35 @@ void test_CAtlArray() {
|
||||
{
|
||||
CAtlArray<int> a;
|
||||
a.Add(x);
|
||||
sink(a[0]); // $ MISSING: ir
|
||||
sink(a[0]); // $ ir
|
||||
a.Add(0);
|
||||
sink(a[0]); // $ MISSING: ir
|
||||
sink(a[0]); // $ ir
|
||||
|
||||
CAtlArray<int> a2;
|
||||
sink(a2[0]);
|
||||
a2.Append(a);
|
||||
sink(a2[0]); // $ MISSING: ir
|
||||
sink(a2[0]); // $ ir
|
||||
|
||||
CAtlArray<int> a3;
|
||||
sink(a3[0]);
|
||||
a3.Copy(a2);
|
||||
sink(a3[0]); // $ MISSING: ir
|
||||
sink(a3[0]); // $ ir
|
||||
|
||||
sink(a3.GetAt(0)); // $ MISSING: ir
|
||||
sink(*a3.GetData()); // $ MISSING: ir
|
||||
sink(a3.GetAt(0)); // $ ir
|
||||
sink(*a3.GetData()); // $ ir
|
||||
|
||||
CAtlArray<int> a4;
|
||||
sink(a4.GetAt(0));
|
||||
a4.InsertArrayAt(0, &a3);
|
||||
sink(a4.GetAt(0)); // $ MISSING: ir
|
||||
sink(a4.GetAt(0)); // $ ir
|
||||
}
|
||||
{
|
||||
CAtlArray<int> a5;
|
||||
a5.InsertAt(0, source<int>(), 1);
|
||||
sink(a5[0]); // $ MISSING: ir
|
||||
sink(a5[0]); // $ ir
|
||||
|
||||
CAtlArray<int> a6;
|
||||
a6.SetAtGrow(0, source<int>());
|
||||
sink(a6[0]); // $ MISSING: ir
|
||||
sink(a6[0]); // $ ir
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user