Imported Upstream version 3.12.0

Former-commit-id: cf92446697332992ec36726e78eb8703e1f259d7
This commit is contained in:
Jo Shields
2015-01-13 10:44:36 +00:00
parent 8b9b85e7f5
commit 181b81b4a4
659 changed files with 12743 additions and 16300 deletions

View File

@ -0,0 +1,68 @@
// Compiler options: -langversion:experimental
using System;
class RecursiveNamedPattern
{
public static int Main ()
{
if (Switch_1 (null) != 4)
return 1;
if (Switch_1 ("x") != 5)
return 2;
if (Switch_1 (1) != 1)
return 3;
if (Switch_1 (new C1 ()) != 3)
return 4;
if (Switch_1 ((byte?) 1) != 1)
return 5;
if (Switch_2 (new C1 ()) != 3)
return 10;
if (Switch_2 (null) != 2)
return 11;
Console.WriteLine ("ok");
return 0;
}
static int Switch_1 (object o)
{
switch (o) {
case 1:
return 1;
case C1 (3):
return 2;
case C1 (2):
return 3;
case null:
return 4;
default:
return 5;
}
}
static int Switch_2 (C1 o)
{
switch (o) {
case null:
return 2;
}
return 3;
}
}
public class C1
{
public static bool operator is (C1 c1, out int i)
{
i = 2;
return true;
}
}