mirror of
https://github.com/github/codeql.git
synced 2026-05-02 04:05:14 +02:00
C#: Add test cases for operators.
This commit is contained in:
@@ -28,3 +28,5 @@
|
||||
| Summaries;IEnumerableFlow;false;ReturnFieldInIEnumerable;();Argument[Qualifier];ReturnValue;taint |
|
||||
| Summaries;IEnumerableFlow;false;ReturnIEnumerable;(System.Collections.Generic.IEnumerable<System.String>);Argument[0].Element;ReturnValue;taint |
|
||||
| Summaries;IEnumerableFlow;false;ReturnIEnumerableElement;(System.Collections.Generic.IEnumerable<System.Object>);Argument[0].Element;ReturnValue;taint |
|
||||
| Summaries;OperatorFlow;false;OperatorFlow;(System.Object);Argument[0];Argument[Qualifier];taint |
|
||||
| Summaries;OperatorFlow;false;op_Addition;(Summaries.OperatorFlow,Summaries.OperatorFlow);Argument[0];ReturnValue;taint |
|
||||
|
||||
@@ -171,4 +171,39 @@ public class DerivedClass2Flow : BaseClassFlow
|
||||
{
|
||||
return input0;
|
||||
}
|
||||
}
|
||||
|
||||
public class OperatorFlow
|
||||
{
|
||||
public readonly object Field;
|
||||
|
||||
public OperatorFlow(object o)
|
||||
{
|
||||
Field = o;
|
||||
}
|
||||
|
||||
// Flow Summary.
|
||||
public static OperatorFlow operator +(OperatorFlow a, OperatorFlow b)
|
||||
{
|
||||
return a;
|
||||
}
|
||||
|
||||
// No flow summary.
|
||||
public static OperatorFlow operator ++(OperatorFlow a)
|
||||
{
|
||||
return new OperatorFlow(new object());
|
||||
}
|
||||
|
||||
// No flow summary as this is an implicit conversion operator.
|
||||
public static implicit operator OperatorFlow(int i)
|
||||
{
|
||||
return new OperatorFlow(i);
|
||||
}
|
||||
|
||||
// No flow summary as this is an explicit conversion operator.
|
||||
public static explicit operator OperatorFlow(byte b)
|
||||
{
|
||||
return new OperatorFlow(b);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user