/*
 * Generated code file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
 */

using System;
using System.Diagnostics;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// Image 0: mscorlib.dll - Assembly: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Types 0-1809
// [assembly: AssemblyCompany] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyCopyright] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyDefaultAlias] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyDelaySign] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyDescription] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyFileVersion] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyInformationalVersion] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyKeyFile] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyProduct] // 0x000000018000E0A0-0x000000018000E310
// [assembly: AssemblyTitle] // 0x000000018000E0A0-0x000000018000E310
// [assembly: CLSCompliant] // 0x000000018000E0A0-0x000000018000E310
// [assembly: CompilationRelaxations] // 0x000000018000E0A0-0x000000018000E310
// [assembly: ComVisible] // 0x000000018000E0A0-0x000000018000E310
// [assembly: Debuggable] // 0x000000018000E0A0-0x000000018000E310
// [assembly: DefaultDependency] // 0x000000018000E0A0-0x000000018000E310
// [assembly: Guid] // 0x000000018000E0A0-0x000000018000E310
// [assembly: NeutralResourcesLanguage] // 0x000000018000E0A0-0x000000018000E310
[assembly: RuntimeCompatibility] // 0x000000018000E0A0-0x000000018000E310
// [assembly: SatelliteContractVersion] // 0x000000018000E0A0-0x000000018000E310
[assembly: StringFreezing] // 0x000000018000E0A0-0x000000018000E310
// [assembly: TypeLibVersion] // 0x000000018000E0A0-0x000000018000E310

// Image 1: ArraysAndPointers.dll - Assembly: ArraysAndPointers, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - Types 1810-1817
// [assembly: CompilationRelaxations] // 0x000000018000C1C0-0x000000018000C220
// [assembly: Debuggable] // 0x000000018000C1C0-0x000000018000C220
[assembly: RuntimeCompatibility] // 0x000000018000C1C0-0x000000018000C220

internal static class Consts // TypeDefIndex: 100
{
	// Fields
	public const string MonoVersion = "2.6.5.0"; // Metadata: 0x000ECD98
	public const string MonoCompany = "MONO development team"; // Metadata: 0x000ECDA3
	public const string MonoProduct = "MONO Common language infrastructure"; // Metadata: 0x000ECDBC
	public const string MonoCopyright = "(c) various MONO Authors"; // Metadata: 0x000ECDE3
	public const string FxVersion = "2.0.0.0"; // Metadata: 0x000ECDFF
	public const string VsVersion = "8.0.0.0"; // Metadata: 0x000ECE0A
	public const string FxFileVersion = "2.0.50727.1433"; // Metadata: 0x000ECE15
	public const string VsFileVersion = "8.0.50727.1433"; // Metadata: 0x000ECE27
	public const string AssemblyI18N = "I18N, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ECE39
	public const string AssemblyMicrosoft_VisualStudio = "Microsoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ECE84
	public const string AssemblyMicrosoft_VisualStudio_Web = "Microsoft.VisualStudio.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ECEE1
	public const string AssemblyMicrosoft_VSDesigner = "Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ECF42
	public const string AssemblyMono_Http = "Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ECF9D
	public const string AssemblyMono_Posix = "Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ECFED
	public const string AssemblyMono_Security = "Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED03E
	public const string AssemblyMono_Messaging_RabbitMQ = "Mono.Messaging.RabbitMQ, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED092
	public const string AssemblyCorlib = "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED0F0
	public const string AssemblySystem = "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED13F
	public const string AssemblySystem_Data = "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED18C
	public const string AssemblySystem_Design = "System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED1DE
	public const string AssemblySystem_DirectoryServices = "System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED232
	public const string AssemblySystem_Drawing = "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED291
	public const string AssemblySystem_Drawing_Design = "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED2E6
	public const string AssemblySystem_Messaging = "System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED342
	public const string AssemblySystem_Security = "System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED399
	public const string AssemblySystem_ServiceProcess = "System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED3EF
	public const string AssemblySystem_Web = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED44B
	public const string AssemblySystem_Windows_Forms = "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED49C
	public const string AssemblySystem_Core = "System.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED4F7
}

internal sealed class Locale // TypeDefIndex: 101
{
	// Constructors
	private Locale() {} // 0x00000001800E2000-0x00000001800E2010

	// Methods
	public static string GetText(string msg) => default; // 0x0000000180123590-0x00000001801235A0
	public static string GetText(string fmt, params /* 0x00000001800090A0-0x00000001800090B0 */ object[] args) => default; // 0x00000001802C64F0-0x00000001802C6560
}

namespace Il2CppTests.TestSources
{
	internal class Test // TypeDefIndex: 1813
	{
		// Fields
		private int[] foo; // 0x10
		private int[] bar; // 0x18
		private float[][] arrayOfArrays; // 0x20
		private float[,] twoDimensionalArray; // 0x28
		private float[,,] threeDimensionalArray; // 0x30
		private unsafe int*[] arrayOfPointer; // 0x38
		private unsafe int** pointerToPointer; // 0x40
		private unsafe float*[][,,][] confusedElephant; // 0x48
	
		// Properties
		public unsafe int* PointerProperty { get; set; } // 0x00000001801513A0-0x00000001801513B0 0x00000001801140B0-0x00000001801140C0
		public unsafe int* this[int i] { get => default; } // 0x00000001800EA8C0-0x00000001800EA8D0 
		public unsafe int this[int* p] { get => default; } // 0x00000001800EA8C0-0x00000001800EA8D0 
		public unsafe float* this[float* fp] { get => default; } // 0x00000001800EA8C0-0x00000001800EA8D0 
	
		// Nested types
		private struct fixedSizeArrayStruct // TypeDefIndex: 1814
		{
			// Fields
			private unsafe fixed /* 0x000000018000C310-0x000000018000C360 */ int fixedSizeArray[0]; // 0x10
		}
	
		public unsafe delegate void OnUnsafe(int* ud); // TypeDefIndex: 1816; 0x00000001803E0E50-0x00000001803E10A0
	
		public class NestedUnsafe<T> // TypeDefIndex: 1817
			where T : struct
		{
			// Constructors
			public NestedUnsafe() {}
	
			// Methods
			private unsafe T* UnsafeGenericReturn() => default;
			private unsafe void UnsafeGenericMethod(T* pt) {}
		}
	
		// Constructors
		public Test() {} // Dummy constructor
		public unsafe Test(int* u) {} // 0x00000001803E1130-0x00000001803E1130
	
		// Methods
		public int[] FooMethod(int[][] bar) => default; // 0x00000001803E10F0-0x00000001803E1130
		public int[,] BarMethod(int[,,] baz) => default; // 0x00000001803E10A0-0x00000001803E10F0
		public unsafe void UnsafeMethod(int* unsafePointerArgument) {} // 0x00000001800EA7B0-0x00000001800EA7C0
		public unsafe int* UnsafeReturnMethod() => default; // 0x00000001800EA8C0-0x00000001800EA8D0
		public unsafe int* UnsafeMethod2(int* i) => default; // 0x000000018012FC60-0x000000018012FC70
	}
}
