mirror of
https://github.com/github/codeql.git
synced 2026-04-24 08:15:14 +02:00
C#: Add model generator test cases with in/out parameters.
This commit is contained in:
@@ -1,2 +1,8 @@
|
||||
unexpectedModel
|
||||
| Unexpected contentbased-summary found: Models;ParameterModifiers;false;Copy;(System.Object,System.Object);;Argument[0];ReturnValue;value;dfc-generated |
|
||||
| Unexpected contentbased-summary found: Models;ParameterModifiers;false;CopyToRef;(System.Object,System.Object);;Argument[0];ReturnValue;value;dfc-generated |
|
||||
| Unexpected contentbased-summary found: Models;ParameterModifiers;false;RefParamFlowToSelf;(System.Object,System.Boolean);;Argument[0];ReturnValue;value;dfc-generated |
|
||||
| Unexpected contentbased-summary found: Models;ParameterModifiers;false;RefParamUse;(System.Object);;Argument[0];ReturnValue;value;dfc-generated |
|
||||
expectedModel
|
||||
| Expected contentbased-summary missing: Models;ParameterModifiers;false;Copy;(System.Object,System.Object);;Argument[0];Argument[1];value;dfc-generated |
|
||||
| Expected contentbased-summary missing: Models;ParameterModifiers;false;CopyToRef;(System.Object,System.Object);;Argument[0];Argument[1];value;dfc-generated |
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
unexpectedModel
|
||||
expectedModel
|
||||
| Expected neutral missing: Models;ParameterModifiers;RefParamFlowToSelf;(System.Object,System.Boolean);summary;df-generated |
|
||||
| Expected neutral missing: Models;ParameterModifiers;RefParamUse;(System.Object);summary;df-generated |
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
unexpectedModel
|
||||
| Unexpected summary found: Models;ParameterModifiers;false;Copy;(System.Object,System.Object);;Argument[0];ReturnValue;taint;df-generated |
|
||||
| Unexpected summary found: Models;ParameterModifiers;false;CopyToRef;(System.Object,System.Object);;Argument[0];ReturnValue;taint;df-generated |
|
||||
| Unexpected summary found: Models;ParameterModifiers;false;RefParamFlowToSelf;(System.Object,System.Boolean);;Argument[0];ReturnValue;taint;df-generated |
|
||||
| Unexpected summary found: Models;ParameterModifiers;false;RefParamUse;(System.Object);;Argument[0];ReturnValue;taint;df-generated |
|
||||
expectedModel
|
||||
| Expected summary missing: Models;ParameterModifiers;false;Copy;(System.Object,System.Object);;Argument[0];Argument[1];taint;df-generated |
|
||||
| Expected summary missing: Models;ParameterModifiers;false;CopyToRef;(System.Object,System.Object);;Argument[0];Argument[1];taint;df-generated |
|
||||
|
||||
@@ -1034,3 +1034,40 @@ public class AvoidDuplicateLifted
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ParameterModifiers
|
||||
{
|
||||
// contentbased-summary=Models;ParameterModifiers;false;Copy;(System.Object,System.Object);;Argument[0];Argument[1];value;dfc-generated
|
||||
// summary=Models;ParameterModifiers;false;Copy;(System.Object,System.Object);;Argument[0];Argument[1];taint;df-generated
|
||||
public void Copy(object key, out object value)
|
||||
{
|
||||
value = key;
|
||||
}
|
||||
|
||||
// contentbased-summary=Models;ParameterModifiers;false;CopyToRef;(System.Object,System.Object);;Argument[0];Argument[1];value;dfc-generated
|
||||
// summary=Models;ParameterModifiers;false;CopyToRef;(System.Object,System.Object);;Argument[0];Argument[1];taint;df-generated
|
||||
public void CopyToRef(object key, ref object value)
|
||||
{
|
||||
value = key;
|
||||
}
|
||||
|
||||
// No summaries as we disregard flow from a parameter to itself.
|
||||
// neutral=Models;ParameterModifiers;RefParamFlowToSelf;(System.Object,System.Boolean);summary;df-generated
|
||||
public void RefParamFlowToSelf(ref object value, bool b)
|
||||
{
|
||||
value = b ? value : null;
|
||||
}
|
||||
|
||||
// neutral=Models;ParameterModifiers;RefParamUse;(System.Object);summary;df-generated
|
||||
public void RefParamUse(ref object value)
|
||||
{
|
||||
var b = value is null;
|
||||
}
|
||||
|
||||
// contentbased-summary=Models;ParameterModifiers;false;InReturn;(System.Object);;Argument[0];ReturnValue;value;dfc-generated
|
||||
// summary=Models;ParameterModifiers;false;InReturn;(System.Object);;Argument[0];ReturnValue;taint;df-generated
|
||||
public object InReturn(in object v)
|
||||
{
|
||||
return v;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user