mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
47 lines
765 B
C#
47 lines
765 B
C#
using System;
|
|
|
|
class OutRef
|
|
{
|
|
int Field;
|
|
|
|
void M()
|
|
{
|
|
int j = 0;
|
|
OutRefM(out int i, ref j);
|
|
Use(i);
|
|
Use(j);
|
|
OutRefM(out i, ref Field);
|
|
Use(i);
|
|
Use(Field);
|
|
OutRefM(out Field, ref Field);
|
|
Use(Field);
|
|
var t = new OutRef();
|
|
OutRefM(out Field, ref t.Field);
|
|
Use(Field);
|
|
Use(t.Field);
|
|
OutRefM2(out j, ref j);
|
|
Use(j);
|
|
OutRefM3(false, ref j);
|
|
Use(j);
|
|
}
|
|
|
|
void OutRefM(out int i, ref int j)
|
|
{
|
|
i = j;
|
|
j = 1;
|
|
}
|
|
|
|
void OutRefM2(out int i, ref int j)
|
|
{
|
|
i = j;
|
|
}
|
|
|
|
void OutRefM3(bool b, ref int j)
|
|
{
|
|
if (b)
|
|
j = 1;
|
|
}
|
|
|
|
static void Use<T>(T u) { }
|
|
}
|