using System; using System.Collections.Generic; using System.Threading; namespace LeanCloud.Storage.Internal { /// /// A reimplementation of Xamarin's PreserveAttribute. /// This allows us to support AOT and linking for Xamarin platforms. /// [AttributeUsage(AttributeTargets.All)] internal class PreserveAttribute : Attribute { public bool AllMembers; public bool Conditional; } [AttributeUsage(AttributeTargets.All)] internal class LinkerSafeAttribute : Attribute { public LinkerSafeAttribute() { } } [Preserve(AllMembers = true)] internal class PreserveWrapperTypes { /// /// Exists to ensure that generic types are AOT-compiled for the conversions we support. /// Any new value types that we add support for will need to be registered here. /// The method itself is never called, but by virtue of the Preserve attribute being set /// on the class, these types will be AOT-compiled. /// /// This also applies to Unity. /// private static List CreateWrapperTypes() { return new List { typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), (Action)(() => AVCloud.CallFunctionAsync(null, null, null,CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null ,CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null, null,CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null ,CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync>(null, null,null, CancellationToken.None)), (Action)(() => AVCloud.CallFunctionAsync>(null, null,null, CancellationToken.None)), typeof(FlexibleListWrapper), typeof(FlexibleListWrapper), typeof(FlexibleDictionaryWrapper), typeof(FlexibleDictionaryWrapper), }; } } }