using System; using System.Collections.Generic; namespace ICSharpCode.Decompiler.Tests.TestCases.Ugly { internal class NoNewOfT where TOnType : new() { public static TOnType CreateTOnType() { #if !ROSLYN #if OPT if (default(TOnType) != null) { return default(TOnType); } return Activator.CreateInstance(); #else return (default(TOnType) == null) ? Activator.CreateInstance() : default(TOnType); #endif #else return Activator.CreateInstance(); #endif } public static T CreateUnconstrainedT() where T : new() { #if !ROSLYN #if OPT if (default(T) != null) { return default(T); } return Activator.CreateInstance(); #else return (default(T) == null) ? Activator.CreateInstance() : default(T); #endif #else return Activator.CreateInstance(); #endif } public static T CreateClassT() where T : class, new() { return Activator.CreateInstance(); } public static T CollectionInitializer() where T : IList, new() { #if ROSLYN T result = Activator.CreateInstance(); result.Add(1); result.Add(2); result.Add(3); result.Add(4); result.Add(5); return result; #else T val = ((default(T) == null) ? Activator.CreateInstance() : default(T)); val.Add(1); val.Add(2); val.Add(3); val.Add(4); val.Add(5); return val; #endif } } }