using System.Collections.Generic;
public class AOTGenericReferences : UnityEngine.MonoBehaviour
{

	// {{ AOT assemblies
	public static readonly IReadOnlyList<string> PatchedAOTAssemblyList = new List<string>
	{
		"GameFramework.Runtime.dll",
		"R3.Unity.dll",
		"R3.dll",
		"UniTask.dll",
		"UnityEngine.CoreModule.dll",
		"YooAsset.dll",
		"mscorlib.dll",
	};
	// }}

	// {{ constraint implement type
	// }} 

	// {{ AOT generic types
	// Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask.<>c<GameStart.<LoadSimpleR3Test>d__1>
	// Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask<GameStart.<LoadSimpleR3Test>d__1>
	// Cysharp.Threading.Tasks.ITaskPoolNode<object>
	// Cysharp.Threading.Tasks.UniTaskCompletionSourceCore<Cysharp.Threading.Tasks.AsyncUnit>
	// Cysharp.Threading.Tasks.UniTaskCompletionSourceCore<object>
	// R3.AnonymousObserver<float,object>
	// R3.AnonymousObserver<float>
	// R3.AnonymousObserver<object>
	// R3.BindableReactiveProperty.Observer<float>
	// R3.BindableReactiveProperty<float>
	// R3.Observable<float>
	// R3.Observable<object>
	// R3.Observer<float>
	// R3.Observer<object>
	// R3.ReactiveProperty.ObserverNode<float>
	// R3.ReactiveProperty<float>
	// R3.ReadOnlyReactiveProperty<float>
	// SingletonMono<object>
	// System.Action<R3.Result,object>
	// System.Action<R3.Result>
	// System.Action<float,object>
	// System.Action<float>
	// System.Action<object,object>
	// System.Action<object>
	// System.Collections.Generic.ArraySortHelper<object>
	// System.Collections.Generic.Comparer<object>
	// System.Collections.Generic.EqualityComparer<float>
	// System.Collections.Generic.ICollection<object>
	// System.Collections.Generic.IComparer<object>
	// System.Collections.Generic.IEnumerable<object>
	// System.Collections.Generic.IEnumerator<object>
	// System.Collections.Generic.IEqualityComparer<float>
	// System.Collections.Generic.IList<object>
	// System.Collections.Generic.List.Enumerator<object>
	// System.Collections.Generic.List<object>
	// System.Collections.Generic.ObjectComparer<object>
	// System.Collections.Generic.ObjectEqualityComparer<float>
	// System.Collections.ObjectModel.ReadOnlyCollection<object>
	// System.Comparison<object>
	// System.EventHandler<object>
	// System.Func<float,object>
	// System.Func<int>
	// System.Nullable<R3.Result>
	// System.Predicate<object>
	// }}

	public void RefMethods()
	{
		// System.Void Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskMethodBuilder.AwaitUnsafeOnCompleted<Cysharp.Threading.Tasks.UniTask.Awaiter,GameStart.<LoadSimpleR3Test>d__1>(Cysharp.Threading.Tasks.UniTask.Awaiter&,GameStart.<LoadSimpleR3Test>d__1&)
		// System.Void Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskMethodBuilder.Start<GameStart.<LoadSimpleR3Test>d__1>(GameStart.<LoadSimpleR3Test>d__1&)
		// Cysharp.Threading.Tasks.UniTask.Awaiter Cysharp.Threading.Tasks.EnumeratorAsyncExtensions.GetAwaiter<object>(object)
		// object R3.Disposable.AddTo<object>(object,System.Collections.Generic.ICollection<System.IDisposable>)
		// object R3.MonoBehaviourExtensions.AddTo<object>(object,UnityEngine.Component)
		// object R3.MonoBehaviourExtensions.AddTo<object>(object,UnityEngine.GameObject)
		// System.IDisposable R3.ObservableSubscribeExtensions.Subscribe<float,object>(R3.Observable<float>,object,System.Action<float,object>)
		// System.IDisposable R3.ObservableSubscribeExtensions.Subscribe<float>(R3.Observable<float>,System.Action<float>)
		// System.IDisposable R3.ObservableSubscribeExtensions.Subscribe<object>(R3.Observable<object>,System.Action<object>)
		// System.Void System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted<Cysharp.Threading.Tasks.UniTask.Awaiter,GameStart.<Start>d__0>(Cysharp.Threading.Tasks.UniTask.Awaiter&,GameStart.<Start>d__0&)
		// System.Void System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start<GameStart.<Start>d__0>(GameStart.<Start>d__0&)
		// object UnityEngine.GameObject.AddComponent<object>()
		// object UnityEngine.GameObject.GetComponent<object>()
		// YooAsset.AssetHandle YooAsset.ResourcePackage.LoadAssetAsync<object>(string,uint)
		// YooAsset.AssetHandle YooAsset.YooAssets.LoadAssetAsync<object>(string,uint)
	}
}