Xamarin Public Jenkins f3e3aab35a Imported Upstream version 4.3.2.467
Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
2016-02-22 11:00:01 -05:00

187 lines
2.4 KiB
C#

using System;
//
// parser conditional and cast expression tests
//
class A<T>
{
public static int Value;
}
public class ConditionalParsing
{
class T
{
public T (string path, bool mode)
: this (path, mode, (mode == true ? 1 : 2), 1, int.MaxValue)
{
}
public T (string s, bool m, int i, int i2, int i3)
{
}
}
class Const
{
const int c = true ? 1 : 2;
}
struct S
{
}
struct MyTestStruct : IDisposable
{
public void Dispose ()
{
}
public static implicit operator MyTestStruct (int i)
{
return new MyTestStruct ();
}
}
void Test_1 (bool a)
{
int? b = a ? 3 : 4;
}
void Test_2 ()
{
string mp = "";
int a = 1;
int _provider = mp.Length == a ? _provider = 4 : 5;
}
T? Test_3<T> (Func<T, T, T> result, T t) where T : struct
{
return new T? (result (t, t));
}
void Test_4 (bool x, bool y)
{
int s = x ? (y ? 2 : 4) : (y ? 5 : 7);
}
void Test_5 (bool a, IDisposable fs)
{
using (a ? fs : null) {
Console.WriteLine ("");
}
}
void Test_6 (bool a)
{
char[] escaped_text_chars =
a != false ?
new char [] {'&', '<', '>', '\r', '\n'} :
new char [] {'&', '<', '>'};
}
void Test_7 (object o)
{
object a = (S?[]) o;
}
void Test_8 (DateTime value)
{
var _endDate = value > DateTime.MinValue ? new DateTime ? (value) : null;
}
void Test_9 ()
{
bool b = (1 == 2);
bool c = (1 == 1);
string a = (b ? (c ? "#" : "#") : "");
}
void Test_10 ()
{
int i = new int [] { 1, 2, 3 } [1];
}
void Test_11 ()
{
int a = (int)(A<int>.Value);
}
static int Test_12 (bool arg)
{
return arg ? Foo (() => { return 1; }) : 1;
}
static int Foo (Func<int> arg)
{
return 1;
}
void Test_13 (object param)
{
if (param as bool? ?? false) {} else {}
}
int? Test_14 ()
{
bool a = false, b = false;
object c = null;
return a ? (b ? c as int? : null) : null;
}
Action<int> Test_15 (Action<int> arg)
{
return arg ?? (Helper<int>);
}
void Test_16 ()
{
bool? b = Test (1, arg:2);
}
void Test_17 ()
{
{
using (MyTestStruct? mts = (int?) 1)
{
}
}
}
void Test_18 (bool b, Action a)
{
var e = b ? () => { } : a;
}
void Test_19 (int[,] table)
{
var x = 1 > 0 ? table[5, 1] : 0;
}
void Test_20 ()
{
var t = (Object)string.Empty;
}
void Test_21 ()
{
var t = (Int32)sbyte.MaxValue;
}
static void Helper<T> (T arg)
{
}
static bool Test (object b, int arg)
{
return false;
}
public static void Main ()
{
}
}