.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

124 lines
2.4 KiB

using System;
namespace ICSharpCode.Decompiler.Tests.TestCases.Ugly
{
public class DisplayClass
{
public Program thisField;
public int field1;
public string field2;
}
public class NestedDisplayClass
{
public DisplayClass field3;
public int field1;
public string field2;
}
public class Program
{
public int Rand()
{
throw new NotImplementedException();
}
public void Test1()
{
int field1 = 42;
string field2 = "Hello World!";
Console.WriteLine("{0} {1}", field1, field2);
}
public void Test2()
{
DisplayClass displayClass = new DisplayClass {
field1 = 42,
field2 = "Hello World!"
};
Console.WriteLine("{0} {1}", displayClass.field1, displayClass.GetHashCode());
}
public void Test3()
{
DisplayClass displayClass = new DisplayClass {
field1 = 42,
field2 = "Hello World!"
};
Console.WriteLine("{0} {1}", displayClass.field1, displayClass);
}
public void Test4()
{
DisplayClass displayClass = new DisplayClass {
thisField = this,
field1 = 42,
field2 = "Hello World!"
};
int field1 = 4711;
string field2 = "ILSpy";
DisplayClass field3;
if (displayClass.field1 > 100) {
field3 = displayClass;
} else {
field3 = null;
}
Console.WriteLine("{0} {1}", displayClass, field3);
}
public void Test5()
{
DisplayClass displayClass = new DisplayClass {
thisField = this,
field1 = 42,
field2 = "Hello World!"
};
int field1 = 4711;
string field2 = "ILSpy";
DisplayClass field3;
if (displayClass.field1 > 100) {
field3 = displayClass;
} else {
field3 = null;
}
Console.WriteLine("{0} {1}", field2 + field1, field3);
}
public void Issue1898(int i)
{
DisplayClass displayClass = new DisplayClass {
thisField = this,
field1 = i
};
int field1 = default(int);
string field2 = default(string);
DisplayClass field3 = default(DisplayClass);
while (true) {
switch (Rand()) {
case 1:
field1 = Rand();
continue;
case 2:
field2 = Rand().ToString();
continue;
case 3:
field3 = displayClass;
continue;
}
Console.WriteLine(field1);
Console.WriteLine(field2);
Console.WriteLine(field3);
}
}
public void Test6(int i)
{
int field1 = i;
string field2 = "Hello World!";
if (i < 0) {
i = -i;
}
Console.WriteLine("{0} {1}", field1, field2);
}
}
}