Skip to content

Commit 3d1a403

Browse files
committed
C#: Add example of content based summary on private method.
1 parent ccadfa1 commit 3d1a403

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,32 @@ public DImpl(string s)
638638
// contentbased-summary=Models;Inheritance+DImpl;true;get_Prop;();;Argument[this].SyntheticField[Models.Inheritance+DImpl.tainted];ReturnValue;value;dfc-generated
639639
public override string Prop { get { return tainted; } }
640640
}
641+
642+
public abstract class BaseContent
643+
{
644+
public abstract object GetValue();
645+
646+
public abstract void SetValue(object o);
647+
}
648+
649+
private class Content1 : BaseContent
650+
{
651+
private object field;
652+
653+
// summary=Models;Inheritance+BaseContent;true;GetValue;();;Argument[this];ReturnValue;taint;df-generated
654+
// SPURIOUS-contentbased-summary=Models;Inheritance+Content1;true;GetValue;();;Argument[this].SyntheticField[Models.Inheritance+Content1.field];ReturnValue;value;dfc-generated
655+
public override object GetValue()
656+
{
657+
return field;
658+
}
659+
660+
// summary=Models;Inheritance+BaseContent;true;SetValue;(System.Object);;Argument[0];Argument[this];taint;df-generated
661+
// SPURIOUS-contentbased-summary=Models;Inheritance+Content1;true;SetValue;(System.Object);;Argument[0];Argument[this].SyntheticField[Models.Inheritance+Content1.field];value;dfc-generated
662+
public override void SetValue(object o)
663+
{
664+
field = o;
665+
}
666+
}
641667
}
642668

643669
public class MemberFlow

0 commit comments

Comments
 (0)