From 37c63608df0fe698645b228dabe048667fbb91ab Mon Sep 17 00:00:00 2001 From: Katy Coe Date: Sun, 17 Nov 2019 22:28:47 +0100 Subject: [PATCH] Tests: Add scoped naming rules tests --- Il2CppTests/Il2CppTests.csproj | 7 + .../GameAssembly-Scope-x64.cs | 216 ++++++++++++++++++ .../GameAssembly-Scope-x86.cs | 216 ++++++++++++++++++ Il2CppTests/TestExpectedResults/Scope.cs | 216 ++++++++++++++++++ Il2CppTests/TestSources/Scope.cs | 111 +++++++++ 5 files changed, 766 insertions(+) create mode 100644 Il2CppTests/TestExpectedResults/GameAssembly-Scope-x64.cs create mode 100644 Il2CppTests/TestExpectedResults/GameAssembly-Scope-x86.cs create mode 100644 Il2CppTests/TestExpectedResults/Scope.cs create mode 100644 Il2CppTests/TestSources/Scope.cs diff --git a/Il2CppTests/Il2CppTests.csproj b/Il2CppTests/Il2CppTests.csproj index ed4f79f..b6b91f2 100644 --- a/Il2CppTests/Il2CppTests.csproj +++ b/Il2CppTests/Il2CppTests.csproj @@ -27,6 +27,12 @@ + + + + + + @@ -46,6 +52,7 @@ + diff --git a/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x64.cs b/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x64.cs new file mode 100644 index 0000000..d94198e --- /dev/null +++ b/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x64.cs @@ -0,0 +1,216 @@ +/* + * 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; +using Il2CppTests.DifferentNamespace; +using Il2CppTests.TestSources; + +// Image 0: mscorlib.dll - 0-1809 +// [assembly: AssemblyCompany] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyCopyright] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyDefaultAlias] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyDelaySign] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyDescription] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyFileVersion] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyInformationalVersion] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyKeyFile] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyProduct] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: AssemblyTitle] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: CLSCompliant] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: CompilationRelaxations] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: ComVisible] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: Debuggable] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: DefaultDependency] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: Guid] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: NeutralResourcesLanguage] // 0x000000018000E950-0x000000018000CAF0 +[assembly: RuntimeCompatibility] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: SatelliteContractVersion] // 0x000000018000E950-0x000000018000CAF0 +[assembly: StringFreezing] // 0x000000018000E950-0x000000018000CAF0 +// [assembly: TypeLibVersion] // 0x000000018000E950-0x000000018000CAF0 + +// Image 1: Scope.dll - 1810-1822 +// [assembly: CompilationRelaxations] // 0x000000018000CAF0-0x000000018000CAF0 +// [assembly: Debuggable] // 0x000000018000CAF0-0x000000018000CAF0 +[assembly: RuntimeCompatibility] // 0x000000018000CAF0-0x000000018000CAF0 + +internal static class Consts // TypeDefIndex: 100 +{ + // Fields + public const string MonoVersion = "2.6.5.0"; // Metadata: 0x000ECEE8 + public const string MonoCompany = "MONO development team"; // Metadata: 0x000ECEF3 + public const string MonoProduct = "MONO Common language infrastructure"; // Metadata: 0x000ECF0C + public const string MonoCopyright = "(c) various MONO Authors"; // Metadata: 0x000ECF33 + public const string FxVersion = "2.0.0.0"; // Metadata: 0x000ECF4F + public const string VsVersion = "8.0.0.0"; // Metadata: 0x000ECF5A + public const string FxFileVersion = "2.0.50727.1433"; // Metadata: 0x000ECF65 + public const string VsFileVersion = "8.0.50727.1433"; // Metadata: 0x000ECF77 + public const string AssemblyI18N = "I18N, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ECF89 + public const string AssemblyMicrosoft_VisualStudio = "Microsoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ECFD4 + public const string AssemblyMicrosoft_VisualStudio_Web = "Microsoft.VisualStudio.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED031 + public const string AssemblyMicrosoft_VSDesigner = "Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED092 + public const string AssemblyMono_Http = "Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED0ED + public const string AssemblyMono_Posix = "Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED13D + public const string AssemblyMono_Security = "Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED18E + public const string AssemblyMono_Messaging_RabbitMQ = "Mono.Messaging.RabbitMQ, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED1E2 + public const string AssemblyCorlib = "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED240 + public const string AssemblySystem = "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED28F + public const string AssemblySystem_Data = "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED2DC + public const string AssemblySystem_Design = "System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED32E + public const string AssemblySystem_DirectoryServices = "System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED382 + public const string AssemblySystem_Drawing = "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED3E1 + public const string AssemblySystem_Drawing_Design = "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED436 + public const string AssemblySystem_Messaging = "System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED492 + public const string AssemblySystem_Security = "System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED4E9 + public const string AssemblySystem_ServiceProcess = "System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED53F + public const string AssemblySystem_Web = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED59B + public const string AssemblySystem_Windows_Forms = "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED5EC + public const string AssemblySystem_Core = "System.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED647 +} + +internal sealed class Locale // TypeDefIndex: 101 +{ + // Constructors + private Locale() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public static string GetText(string msg) => default; // 0x0000000180123590-0x0000000180123590 + public static string GetText(string fmt, params /* 0x0000000180009C10-0x0000000180009C10 */ object[] args) => default; // 0x00000001802C64F0-0x00000001802C6560 +} + +namespace DifferentNamespace +{ + public class NestedOuter // TypeDefIndex: 1811 + { + // Nested types + public class NestedIntermediate // TypeDefIndex: 1812 + { + // Nested types + public class NestedInner // TypeDefIndex: 1813 + { + // Constructors + public NestedInner() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public Il2CppTests.TestSources.NestedOuter Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public Il2CppTests.TestSources.NestedOuter.NestedInner Test2() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } + + // Constructors + public NestedIntermediate() {} // 0x00000001800E2000-0x00000001800E2000 + } + + // Constructors + public NestedOuter() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public NestedOuter Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public Il2CppTests.DifferentNamespace.NestedOuter Test2() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public Il2CppTests.TestSources.NestedOuter Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public Il2CppTests.TestSources.NestedOuter.NestedInner Test4() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } +} + +namespace Il2CppTests.DifferentNamespace +{ + public class NestedOuter // TypeDefIndex: 1814 + { + // Constructors + public NestedOuter() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public NestedOuter Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public TestSources.NestedOuter Test2() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public TestSources.NestedOuter.NestedInner Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } +} + +namespace Il2CppTests.TestSources +{ + public class NestedOuter // TypeDefIndex: 1815 + { + // Nested types + public class NestedInner // TypeDefIndex: 1816 + { + // Nested types + public class NestedSubInner // TypeDefIndex: 1817 + { + // Nested types + public class NestedSubSubInner // TypeDefIndex: 1818 + { + // Constructors + public NestedSubSubInner() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public NestedOuter Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner Test2() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedSubInner Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedSubSubInner Test4() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } + + // Constructors + public NestedSubInner() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public NestedOuter Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner Test2() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedSubInner Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedSubSubInner Test4() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } + + public class NestedGeneric // TypeDefIndex: 1819 + { + // Constructors + public NestedGeneric() {} + } + + public struct NestedStruct // TypeDefIndex: 1820 + { + } + + // Constructors + public NestedInner() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public NestedOuter Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner Test2() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedSubInner Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedSubInner.NestedSubSubInner Test4() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } + + public class NestedInnerSibling // TypeDefIndex: 1821 + { + // Nested types + public class NestedSubInnerSibling // TypeDefIndex: 1822 + { + // Constructors + public NestedSubInnerSibling() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public NestedOuter Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner Test2() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner.NestedSubInner Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } + + // Constructors + public NestedInnerSibling() {} // 0x00000001800E2000-0x00000001800E2000 + } + + // Constructors + public NestedOuter() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public NestedOuter Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner Test2() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner.NestedSubInner Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner.NestedSubInner.NestedSubSubInner Test4() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner.NestedGeneric GenericNestingScopes() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + public NestedInner.NestedStruct? NullableStruct() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } +} diff --git a/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x86.cs b/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x86.cs new file mode 100644 index 0000000..bccc53b --- /dev/null +++ b/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x86.cs @@ -0,0 +1,216 @@ +/* + * 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; +using Il2CppTests.DifferentNamespace; +using Il2CppTests.TestSources; + +// Image 0: mscorlib.dll - 0-1809 +// [assembly: AssemblyCompany] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyCopyright] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyDefaultAlias] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyDelaySign] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyDescription] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyFileVersion] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyInformationalVersion] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyKeyFile] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyProduct] // 0x1000F760-0x1000DC90 +// [assembly: AssemblyTitle] // 0x1000F760-0x1000DC90 +// [assembly: CLSCompliant] // 0x1000F760-0x1000DC90 +// [assembly: CompilationRelaxations] // 0x1000F760-0x1000DC90 +// [assembly: ComVisible] // 0x1000F760-0x1000DC90 +// [assembly: Debuggable] // 0x1000F760-0x1000DC90 +// [assembly: DefaultDependency] // 0x1000F760-0x1000DC90 +// [assembly: Guid] // 0x1000F760-0x1000DC90 +// [assembly: NeutralResourcesLanguage] // 0x1000F760-0x1000DC90 +[assembly: RuntimeCompatibility] // 0x1000F760-0x1000DC90 +// [assembly: SatelliteContractVersion] // 0x1000F760-0x1000DC90 +[assembly: StringFreezing] // 0x1000F760-0x1000DC90 +// [assembly: TypeLibVersion] // 0x1000F760-0x1000DC90 + +// Image 1: Scope.dll - 1810-1822 +// [assembly: CompilationRelaxations] // 0x1000DC90-0x1000DC90 +// [assembly: Debuggable] // 0x1000DC90-0x1000DC90 +[assembly: RuntimeCompatibility] // 0x1000DC90-0x1000DC90 + +internal static class Consts // TypeDefIndex: 100 +{ + // Fields + public const string MonoVersion = "2.6.5.0"; // Metadata: 0x000ECEE8 + public const string MonoCompany = "MONO development team"; // Metadata: 0x000ECEF3 + public const string MonoProduct = "MONO Common language infrastructure"; // Metadata: 0x000ECF0C + public const string MonoCopyright = "(c) various MONO Authors"; // Metadata: 0x000ECF33 + public const string FxVersion = "2.0.0.0"; // Metadata: 0x000ECF4F + public const string VsVersion = "8.0.0.0"; // Metadata: 0x000ECF5A + public const string FxFileVersion = "2.0.50727.1433"; // Metadata: 0x000ECF65 + public const string VsFileVersion = "8.0.50727.1433"; // Metadata: 0x000ECF77 + public const string AssemblyI18N = "I18N, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ECF89 + public const string AssemblyMicrosoft_VisualStudio = "Microsoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ECFD4 + public const string AssemblyMicrosoft_VisualStudio_Web = "Microsoft.VisualStudio.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED031 + public const string AssemblyMicrosoft_VSDesigner = "Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED092 + public const string AssemblyMono_Http = "Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED0ED + public const string AssemblyMono_Posix = "Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED13D + public const string AssemblyMono_Security = "Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED18E + public const string AssemblyMono_Messaging_RabbitMQ = "Mono.Messaging.RabbitMQ, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED1E2 + public const string AssemblyCorlib = "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED240 + public const string AssemblySystem = "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED28F + public const string AssemblySystem_Data = "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED2DC + public const string AssemblySystem_Design = "System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED32E + public const string AssemblySystem_DirectoryServices = "System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED382 + public const string AssemblySystem_Drawing = "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED3E1 + public const string AssemblySystem_Drawing_Design = "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED436 + public const string AssemblySystem_Messaging = "System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED492 + public const string AssemblySystem_Security = "System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED4E9 + public const string AssemblySystem_ServiceProcess = "System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED53F + public const string AssemblySystem_Web = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED59B + public const string AssemblySystem_Windows_Forms = "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED5EC + public const string AssemblySystem_Core = "System.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED647 +} + +internal sealed class Locale // TypeDefIndex: 101 +{ + // Constructors + private Locale() {} // 0x100BF000-0x100BF000 + + // Methods + public static string GetText(string msg) => default; // 0x100F7810-0x100F7810 + public static string GetText(string fmt, params /* 0x1000A660-0x1000A660 */ object[] args) => default; // 0x10261460-0x102614B0 +} + +namespace DifferentNamespace +{ + public class NestedOuter // TypeDefIndex: 1811 + { + // Nested types + public class NestedIntermediate // TypeDefIndex: 1812 + { + // Nested types + public class NestedInner // TypeDefIndex: 1813 + { + // Constructors + public NestedInner() {} // 0x100BF000-0x100BF000 + + // Methods + public Il2CppTests.TestSources.NestedOuter Test1() => default; // 0x100C5600-0x100C5600 + public Il2CppTests.TestSources.NestedOuter.NestedInner Test2() => default; // 0x100C5600-0x100C5600 + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test3() => default; // 0x100C5600-0x100C5600 + } + + // Constructors + public NestedIntermediate() {} // 0x100BF000-0x100BF000 + } + + // Constructors + public NestedOuter() {} // 0x100BF000-0x100BF000 + + // Methods + public NestedOuter Test1() => default; // 0x100C5600-0x100C5600 + public Il2CppTests.DifferentNamespace.NestedOuter Test2() => default; // 0x100C5600-0x100C5600 + public Il2CppTests.TestSources.NestedOuter Test3() => default; // 0x100C5600-0x100C5600 + public Il2CppTests.TestSources.NestedOuter.NestedInner Test4() => default; // 0x100C5600-0x100C5600 + } +} + +namespace Il2CppTests.DifferentNamespace +{ + public class NestedOuter // TypeDefIndex: 1814 + { + // Constructors + public NestedOuter() {} // 0x100BF000-0x100BF000 + + // Methods + public NestedOuter Test1() => default; // 0x100C5600-0x100C5600 + public TestSources.NestedOuter Test2() => default; // 0x100C5600-0x100C5600 + public TestSources.NestedOuter.NestedInner Test3() => default; // 0x100C5600-0x100C5600 + } +} + +namespace Il2CppTests.TestSources +{ + public class NestedOuter // TypeDefIndex: 1815 + { + // Nested types + public class NestedInner // TypeDefIndex: 1816 + { + // Nested types + public class NestedSubInner // TypeDefIndex: 1817 + { + // Nested types + public class NestedSubSubInner // TypeDefIndex: 1818 + { + // Constructors + public NestedSubSubInner() {} // 0x100BF000-0x100BF000 + + // Methods + public NestedOuter Test1() => default; // 0x100C5600-0x100C5600 + public NestedInner Test2() => default; // 0x100C5600-0x100C5600 + public NestedSubInner Test3() => default; // 0x100C5600-0x100C5600 + public NestedSubSubInner Test4() => default; // 0x100C5600-0x100C5600 + } + + // Constructors + public NestedSubInner() {} // 0x100BF000-0x100BF000 + + // Methods + public NestedOuter Test1() => default; // 0x100C5600-0x100C5600 + public NestedInner Test2() => default; // 0x100C5600-0x100C5600 + public NestedSubInner Test3() => default; // 0x100C5600-0x100C5600 + public NestedSubSubInner Test4() => default; // 0x100C5600-0x100C5600 + } + + public class NestedGeneric // TypeDefIndex: 1819 + { + // Constructors + public NestedGeneric() {} + } + + public struct NestedStruct // TypeDefIndex: 1820 + { + } + + // Constructors + public NestedInner() {} // 0x100BF000-0x100BF000 + + // Methods + public NestedOuter Test1() => default; // 0x100C5600-0x100C5600 + public NestedInner Test2() => default; // 0x100C5600-0x100C5600 + public NestedSubInner Test3() => default; // 0x100C5600-0x100C5600 + public NestedSubInner.NestedSubSubInner Test4() => default; // 0x100C5600-0x100C5600 + } + + public class NestedInnerSibling // TypeDefIndex: 1821 + { + // Nested types + public class NestedSubInnerSibling // TypeDefIndex: 1822 + { + // Constructors + public NestedSubInnerSibling() {} // 0x100BF000-0x100BF000 + + // Methods + public NestedOuter Test1() => default; // 0x100C5600-0x100C5600 + public NestedInner Test2() => default; // 0x100C5600-0x100C5600 + public NestedInner.NestedSubInner Test3() => default; // 0x100C5600-0x100C5600 + } + + // Constructors + public NestedInnerSibling() {} // 0x100BF000-0x100BF000 + } + + // Constructors + public NestedOuter() {} // 0x100BF000-0x100BF000 + + // Methods + public NestedOuter Test1() => default; // 0x100C5600-0x100C5600 + public NestedInner Test2() => default; // 0x100C5600-0x100C5600 + public NestedInner.NestedSubInner Test3() => default; // 0x100C5600-0x100C5600 + public NestedInner.NestedSubInner.NestedSubSubInner Test4() => default; // 0x100C5600-0x100C5600 + public NestedInner.NestedGeneric GenericNestingScopes() => default; // 0x100C5600-0x100C5600 + public NestedInner.NestedStruct? NullableStruct() => default; // 0x100C5600-0x100C5600 + } +} diff --git a/Il2CppTests/TestExpectedResults/Scope.cs b/Il2CppTests/TestExpectedResults/Scope.cs new file mode 100644 index 0000000..7881833 --- /dev/null +++ b/Il2CppTests/TestExpectedResults/Scope.cs @@ -0,0 +1,216 @@ +/* + * 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; +using Il2CppTests.DifferentNamespace; +using Il2CppTests.TestSources; + +// Image 0: mscorlib.dll - 0-1809 +// [assembly: AssemblyCompany] // 0x000A5298-0x000A558C +// [assembly: AssemblyCopyright] // 0x000A5298-0x000A558C +// [assembly: AssemblyDefaultAlias] // 0x000A5298-0x000A558C +// [assembly: AssemblyDelaySign] // 0x000A5298-0x000A558C +// [assembly: AssemblyDescription] // 0x000A5298-0x000A558C +// [assembly: AssemblyFileVersion] // 0x000A5298-0x000A558C +// [assembly: AssemblyInformationalVersion] // 0x000A5298-0x000A558C +// [assembly: AssemblyKeyFile] // 0x000A5298-0x000A558C +// [assembly: AssemblyProduct] // 0x000A5298-0x000A558C +// [assembly: AssemblyTitle] // 0x000A5298-0x000A558C +// [assembly: CLSCompliant] // 0x000A5298-0x000A558C +// [assembly: CompilationRelaxations] // 0x000A5298-0x000A558C +// [assembly: ComVisible] // 0x000A5298-0x000A558C +// [assembly: Debuggable] // 0x000A5298-0x000A558C +// [assembly: DefaultDependency] // 0x000A5298-0x000A558C +// [assembly: Guid] // 0x000A5298-0x000A558C +// [assembly: NeutralResourcesLanguage] // 0x000A5298-0x000A558C +[assembly: RuntimeCompatibility] // 0x000A5298-0x000A558C +// [assembly: SatelliteContractVersion] // 0x000A5298-0x000A558C +[assembly: StringFreezing] // 0x000A5298-0x000A558C +// [assembly: TypeLibVersion] // 0x000A5298-0x000A558C + +// Image 1: Scope.dll - 1810-1822 +// [assembly: CompilationRelaxations] // 0x000A558C-0x000A558C +// [assembly: Debuggable] // 0x000A558C-0x000A558C +[assembly: RuntimeCompatibility] // 0x000A558C-0x000A558C + +internal static class Consts // TypeDefIndex: 100 +{ + // Fields + public const string MonoVersion = "2.6.5.0"; // Metadata: 0x000ECEE8 + public const string MonoCompany = "MONO development team"; // Metadata: 0x000ECEF3 + public const string MonoProduct = "MONO Common language infrastructure"; // Metadata: 0x000ECF0C + public const string MonoCopyright = "(c) various MONO Authors"; // Metadata: 0x000ECF33 + public const string FxVersion = "2.0.0.0"; // Metadata: 0x000ECF4F + public const string VsVersion = "8.0.0.0"; // Metadata: 0x000ECF5A + public const string FxFileVersion = "2.0.50727.1433"; // Metadata: 0x000ECF65 + public const string VsFileVersion = "8.0.50727.1433"; // Metadata: 0x000ECF77 + public const string AssemblyI18N = "I18N, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ECF89 + public const string AssemblyMicrosoft_VisualStudio = "Microsoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ECFD4 + public const string AssemblyMicrosoft_VisualStudio_Web = "Microsoft.VisualStudio.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED031 + public const string AssemblyMicrosoft_VSDesigner = "Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED092 + public const string AssemblyMono_Http = "Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED0ED + public const string AssemblyMono_Posix = "Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED13D + public const string AssemblyMono_Security = "Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED18E + public const string AssemblyMono_Messaging_RabbitMQ = "Mono.Messaging.RabbitMQ, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED1E2 + public const string AssemblyCorlib = "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED240 + public const string AssemblySystem = "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED28F + public const string AssemblySystem_Data = "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED2DC + public const string AssemblySystem_Design = "System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED32E + public const string AssemblySystem_DirectoryServices = "System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED382 + public const string AssemblySystem_Drawing = "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED3E1 + public const string AssemblySystem_Drawing_Design = "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED436 + public const string AssemblySystem_Messaging = "System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED492 + public const string AssemblySystem_Security = "System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED4E9 + public const string AssemblySystem_ServiceProcess = "System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED53F + public const string AssemblySystem_Web = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED59B + public const string AssemblySystem_Windows_Forms = "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED5EC + public const string AssemblySystem_Core = "System.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED647 +} + +internal sealed class Locale // TypeDefIndex: 101 +{ + // Constructors + private Locale() {} // 0x003ECC60-0x003ECC68 + + // Methods + public static string GetText(string msg) => default; // 0x003ECC68-0x003ECC6C + public static string GetText(string fmt, params /* 0x000A3AC4-0x000A3AD4 */ object[] args) => default; // 0x003ECC6C-0x003ECCF8 +} + +namespace DifferentNamespace +{ + public class NestedOuter // TypeDefIndex: 1811 + { + // Nested types + public class NestedIntermediate // TypeDefIndex: 1812 + { + // Nested types + public class NestedInner // TypeDefIndex: 1813 + { + // Constructors + public NestedInner() {} // 0x00561EE8-0x00561EF0 + + // Methods + public Il2CppTests.TestSources.NestedOuter Test1() => default; // 0x00561ED0-0x00561ED8 + public Il2CppTests.TestSources.NestedOuter.NestedInner Test2() => default; // 0x00561ED8-0x00561EE0 + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test3() => default; // 0x00561EE0-0x00561EE8 + } + + // Constructors + public NestedIntermediate() {} // 0x00561EC8-0x00561ED0 + } + + // Constructors + public NestedOuter() {} // 0x00561EC0-0x00561EC8 + + // Methods + public NestedOuter Test1() => default; // 0x00561EA0-0x00561EA8 + public Il2CppTests.DifferentNamespace.NestedOuter Test2() => default; // 0x00561EA8-0x00561EB0 + public Il2CppTests.TestSources.NestedOuter Test3() => default; // 0x00561EB0-0x00561EB8 + public Il2CppTests.TestSources.NestedOuter.NestedInner Test4() => default; // 0x00561EB8-0x00561EC0 + } +} + +namespace Il2CppTests.DifferentNamespace +{ + public class NestedOuter // TypeDefIndex: 1814 + { + // Constructors + public NestedOuter() {} // 0x00561F08-0x00561F10 + + // Methods + public NestedOuter Test1() => default; // 0x00561EF0-0x00561EF8 + public TestSources.NestedOuter Test2() => default; // 0x00561EF8-0x00561F00 + public TestSources.NestedOuter.NestedInner Test3() => default; // 0x00561F00-0x00561F08 + } +} + +namespace Il2CppTests.TestSources +{ + public class NestedOuter // TypeDefIndex: 1815 + { + // Nested types + public class NestedInner // TypeDefIndex: 1816 + { + // Nested types + public class NestedSubInner // TypeDefIndex: 1817 + { + // Nested types + public class NestedSubSubInner // TypeDefIndex: 1818 + { + // Constructors + public NestedSubSubInner() {} // 0x00561FB8-0x00561FC0 + + // Methods + public NestedOuter Test1() => default; // 0x00561F98-0x00561FA0 + public NestedInner Test2() => default; // 0x00561FA0-0x00561FA8 + public NestedSubInner Test3() => default; // 0x00561FA8-0x00561FB0 + public NestedSubSubInner Test4() => default; // 0x00561FB0-0x00561FB8 + } + + // Constructors + public NestedSubInner() {} // 0x00561F90-0x00561F98 + + // Methods + public NestedOuter Test1() => default; // 0x00561F70-0x00561F78 + public NestedInner Test2() => default; // 0x00561F78-0x00561F80 + public NestedSubInner Test3() => default; // 0x00561F80-0x00561F88 + public NestedSubSubInner Test4() => default; // 0x00561F88-0x00561F90 + } + + public class NestedGeneric // TypeDefIndex: 1819 + { + // Constructors + public NestedGeneric() {} + } + + public struct NestedStruct // TypeDefIndex: 1820 + { + } + + // Constructors + public NestedInner() {} // 0x00561F68-0x00561F70 + + // Methods + public NestedOuter Test1() => default; // 0x00561F48-0x00561F50 + public NestedInner Test2() => default; // 0x00561F50-0x00561F58 + public NestedSubInner Test3() => default; // 0x00561F58-0x00561F60 + public NestedSubInner.NestedSubSubInner Test4() => default; // 0x00561F60-0x00561F68 + } + + public class NestedInnerSibling // TypeDefIndex: 1821 + { + // Nested types + public class NestedSubInnerSibling // TypeDefIndex: 1822 + { + // Constructors + public NestedSubInnerSibling() {} // 0x00561FE0-0x00561FE0 + + // Methods + public NestedOuter Test1() => default; // 0x00561FC8-0x00561FD0 + public NestedInner Test2() => default; // 0x00561FD0-0x00561FD8 + public NestedInner.NestedSubInner Test3() => default; // 0x00561FD8-0x00561FE0 + } + + // Constructors + public NestedInnerSibling() {} // 0x00561FC0-0x00561FC8 + } + + // Constructors + public NestedOuter() {} // 0x00561F40-0x00561F48 + + // Methods + public NestedOuter Test1() => default; // 0x00561F10-0x00561F18 + public NestedInner Test2() => default; // 0x00561F18-0x00561F20 + public NestedInner.NestedSubInner Test3() => default; // 0x00561F20-0x00561F28 + public NestedInner.NestedSubInner.NestedSubSubInner Test4() => default; // 0x00561F28-0x00561F30 + public NestedInner.NestedGeneric GenericNestingScopes() => default; // 0x00561F30-0x00561F38 + public NestedInner.NestedStruct? NullableStruct() => default; // 0x00561F38-0x00561F40 + } +} diff --git a/Il2CppTests/TestSources/Scope.cs b/Il2CppTests/TestSources/Scope.cs new file mode 100644 index 0000000..db53c36 --- /dev/null +++ b/Il2CppTests/TestSources/Scope.cs @@ -0,0 +1,111 @@ +/* + Copyright 2017-2019 Katy Coe - http://www.hearthcode.org - http://www.djkaty.com + + All rights reserved. +*/ + +#pragma warning disable CS0169 +namespace Il2CppTests.TestSources +{ + public class NestedOuter { // NestedOuter + public NestedOuter Test1() => default; + public NestedInner Test2() => default; + public NestedInner.NestedSubInner Test3() => default; + public NestedInner.NestedSubInner.NestedSubSubInner Test4() => default; + + public class NestedInner // NestedOuter.NestedInner + { + public NestedOuter Test1() => default; + public NestedInner Test2() => default; + public NestedSubInner Test3() => default; + public NestedSubInner.NestedSubSubInner Test4() => default; + + public class NestedSubInner // NestedOuter.NestedInner.NestedSubInner + { + public NestedOuter Test1() => default; + public NestedInner Test2() => default; + public NestedSubInner Test3() => default; + public NestedSubSubInner Test4() => default; + + public class NestedSubSubInner // NestedOuter.NestedInner.NestedSubInner.NestedSubSubInner + { + public NestedOuter Test1() => default; + public NestedInner Test2() => default; + public NestedSubInner Test3() => default; + public NestedSubSubInner Test4() => default; + } + } + + public class NestedGeneric {} + + public struct NestedStruct {} + } + + // Generic nested scopes + public NestedInner.NestedGeneric GenericNestingScopes() => default; + + // Nullable type in nested scope + public NestedInner.NestedStruct? NullableStruct() => default; + + // Nested siblings + public class NestedInnerSibling + { + public class NestedSubInnerSibling + { + public NestedOuter Test1() => default; + public NestedInner Test2() => default; + public NestedInner.NestedSubInner Test3() => default; + } + } + } +} + +// Same base namespace +namespace Il2CppTests.DifferentNamespace +{ + public class NestedOuter + { + public NestedOuter Test1() => default; + public TestSources.NestedOuter Test2() => default; + public TestSources.NestedOuter.NestedInner Test3() => default; + } +} + +// Different namespace with matching name at leaf level as previous namespace +namespace DifferentNamespace +{ + public class NestedOuter + { + public NestedOuter Test1() => default; + public Il2CppTests.DifferentNamespace.NestedOuter Test2() => default; + public Il2CppTests.TestSources.NestedOuter Test3() => default; + public Il2CppTests.TestSources.NestedOuter.NestedInner Test4() => default; + + public class NestedIntermediate + { + public class NestedInner + { + public Il2CppTests.TestSources.NestedOuter Test1() => default; + public Il2CppTests.TestSources.NestedOuter.NestedInner Test2() => default; + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test3() => default; + } + } + } + + public class TwoLevelConflictingParentScope + { + public class NestedOuter + { + public class NestedInner + { + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test1() => default; + + public class NestedSubInner + { + + } + } + } + } +} +#pragma warning restore CS0169