mirror of https://github.com/icsharpcode/ILSpy.git
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.
178 lines
3.3 KiB
178 lines
3.3 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 field5 = default(int); |
|
string field4 = default(string); |
|
DisplayClass field3 = default(DisplayClass); |
|
while (true) |
|
{ |
|
switch (Rand()) |
|
{ |
|
case 1: |
|
field5 = Rand(); |
|
continue; |
|
case 2: |
|
field4 = Rand().ToString(); |
|
continue; |
|
case 3: |
|
field3 = displayClass; |
|
continue; |
|
} |
|
Console.WriteLine(field5); |
|
Console.WriteLine(field4); |
|
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); |
|
} |
|
|
|
public void Test6b(int i) |
|
{ |
|
int num = i; |
|
int field1 = num; |
|
string field2 = "Hello World!"; |
|
if (num < 0) |
|
{ |
|
num = -num; |
|
} |
|
Console.WriteLine("{0} {1}", field1, field2); |
|
} |
|
|
|
public void Test7(int i) |
|
{ |
|
int field1 = i; |
|
string field2 = "Hello World!"; |
|
Console.WriteLine("{0} {1} {2}", field1++, field2, i); |
|
} |
|
|
|
public void Test8(int i) |
|
{ |
|
int field1 = i; |
|
string field2 = "Hello World!"; |
|
i = 42; |
|
Console.WriteLine("{0} {1}", field1, field2); |
|
} |
|
|
|
public void Test8b(int i) |
|
{ |
|
int num = i; |
|
int field1 = num; |
|
string field2 = "Hello World!"; |
|
num = 42; |
|
Console.WriteLine("{0} {1}", field1, field2); |
|
} |
|
|
|
// public void Test9() |
|
// { |
|
// Program thisField = this; |
|
// int field1 = 1; |
|
// string field2 = "Hello World!"; |
|
// thisField = new Program(); |
|
// Console.WriteLine("{0} {1}", this, thisField); |
|
// } |
|
} |
|
}
|
|
|