From 8a837a34345fc863266aff9b7fcdf2d642ad674a Mon Sep 17 00:00:00 2001 From: Katy Coe Date: Wed, 27 Nov 2019 18:35:02 +0100 Subject: [PATCH] Tests: Update Scope tests and results --- .../GameAssembly-Scope-x64.cs | 153 +++++++--- .../GameAssembly-Scope-x86.cs | 153 +++++++--- Il2CppTests/TestExpectedResults/Scope.cs | 289 +++++++++++------- Il2CppTests/TestSources/Scope.cs | 168 ++++++---- 4 files changed, 503 insertions(+), 260 deletions(-) diff --git a/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x64.cs b/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x64.cs index d94198e..ed5b023 100644 --- a/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x64.cs +++ b/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x64.cs @@ -10,6 +10,9 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Il2CppTests.DifferentNamespace; using Il2CppTests.TestSources; +using Some.Namespace; +using Some.Namespace.Again.SameLeafName; +using Some.Namespace.SameLeafName; // Image 0: mscorlib.dll - 0-1809 // [assembly: AssemblyCompany] // 0x000000018000E950-0x000000018000CAF0 @@ -34,7 +37,7 @@ using Il2CppTests.TestSources; [assembly: StringFreezing] // 0x000000018000E950-0x000000018000CAF0 // [assembly: TypeLibVersion] // 0x000000018000E950-0x000000018000CAF0 -// Image 1: Scope.dll - 1810-1822 +// Image 1: Scope.dll - 1810-1829 // [assembly: CompilationRelaxations] // 0x000000018000CAF0-0x000000018000CAF0 // [assembly: Debuggable] // 0x000000018000CAF0-0x000000018000CAF0 [assembly: RuntimeCompatibility] // 0x000000018000CAF0-0x000000018000CAF0 @@ -42,35 +45,35 @@ using Il2CppTests.TestSources; 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 + public const string MonoVersion = "2.6.5.0"; // Metadata: 0x000ED090 + public const string MonoCompany = "MONO development team"; // Metadata: 0x000ED09B + public const string MonoProduct = "MONO Common language infrastructure"; // Metadata: 0x000ED0B4 + public const string MonoCopyright = "(c) various MONO Authors"; // Metadata: 0x000ED0DB + public const string FxVersion = "2.0.0.0"; // Metadata: 0x000ED0F7 + public const string VsVersion = "8.0.0.0"; // Metadata: 0x000ED102 + public const string FxFileVersion = "2.0.50727.1433"; // Metadata: 0x000ED10D + public const string VsFileVersion = "8.0.50727.1433"; // Metadata: 0x000ED11F + public const string AssemblyI18N = "I18N, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED131 + public const string AssemblyMicrosoft_VisualStudio = "Microsoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED17C + public const string AssemblyMicrosoft_VisualStudio_Web = "Microsoft.VisualStudio.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED1D9 + public const string AssemblyMicrosoft_VSDesigner = "Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED23A + public const string AssemblyMono_Http = "Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED295 + public const string AssemblyMono_Posix = "Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED2E5 + public const string AssemblyMono_Security = "Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED336 + public const string AssemblyMono_Messaging_RabbitMQ = "Mono.Messaging.RabbitMQ, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED38A + public const string AssemblyCorlib = "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED3E8 + public const string AssemblySystem = "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED437 + public const string AssemblySystem_Data = "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED484 + public const string AssemblySystem_Design = "System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED4D6 + public const string AssemblySystem_DirectoryServices = "System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED52A + public const string AssemblySystem_Drawing = "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED589 + public const string AssemblySystem_Drawing_Design = "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED5DE + public const string AssemblySystem_Messaging = "System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED63A + public const string AssemblySystem_Security = "System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED691 + public const string AssemblySystem_ServiceProcess = "System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED6E7 + public const string AssemblySystem_Web = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED743 + public const string AssemblySystem_Windows_Forms = "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED794 + public const string AssemblySystem_Core = "System.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED7EF } internal sealed class Locale // TypeDefIndex: 101 @@ -83,15 +86,51 @@ internal sealed class Locale // TypeDefIndex: 101 public static string GetText(string fmt, params /* 0x0000000180009C10-0x0000000180009C10 */ object[] args) => default; // 0x00000001802C64F0-0x00000001802C6560 } +namespace Some.Namespace +{ + public class Test // TypeDefIndex: 1811 + { + // Fields + public Again.SameLeafName.Test foo; // 0x10 + + // Constructors + public Test() {} // 0x00000001800E2000-0x00000001800E2000 + } +} + +namespace Some.Namespace.Again.SameLeafName +{ + public class Test // TypeDefIndex: 1812 + { + // Fields + public Namespace.Test foo; // 0x10 + + // Constructors + public Test() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public AClassFromUsingDirective Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } +} + +namespace Some.Namespace.SameLeafName +{ + public class AClassFromUsingDirective // TypeDefIndex: 1813 + { + // Constructors + public AClassFromUsingDirective() {} // 0x00000001800E2000-0x00000001800E2000 + } +} + namespace DifferentNamespace { - public class NestedOuter // TypeDefIndex: 1811 + public class NestedOuter // TypeDefIndex: 1814 { // Nested types - public class NestedIntermediate // TypeDefIndex: 1812 + public class NestedIntermediate // TypeDefIndex: 1815 { // Nested types - public class NestedInner // TypeDefIndex: 1813 + public class NestedInner // TypeDefIndex: 1816 { // Constructors public NestedInner() {} // 0x00000001800E2000-0x00000001800E2000 @@ -115,11 +154,41 @@ namespace DifferentNamespace public Il2CppTests.TestSources.NestedOuter Test3() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 public Il2CppTests.TestSources.NestedOuter.NestedInner Test4() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 } + + public class TwoLevelConflictingParentScope // TypeDefIndex: 1817 + { + // Nested types + public class NestedOuter // TypeDefIndex: 1818 + { + // Nested types + public class NestedInner // TypeDefIndex: 1819 + { + // Nested types + public class NestedSubInner // TypeDefIndex: 1820 + { + // Constructors + public NestedSubInner() {} // 0x00000001800E2000-0x00000001800E2000 + } + + // Constructors + public NestedInner() {} // 0x00000001800E2000-0x00000001800E2000 + + // Methods + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test1() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 + } + + // Constructors + public NestedOuter() {} // 0x00000001800E2000-0x00000001800E2000 + } + + // Constructors + public TwoLevelConflictingParentScope() {} // 0x00000001800E2000-0x00000001800E2000 + } } namespace Il2CppTests.DifferentNamespace { - public class NestedOuter // TypeDefIndex: 1814 + public class NestedOuter // TypeDefIndex: 1821 { // Constructors public NestedOuter() {} // 0x00000001800E2000-0x00000001800E2000 @@ -133,16 +202,16 @@ namespace Il2CppTests.DifferentNamespace namespace Il2CppTests.TestSources { - public class NestedOuter // TypeDefIndex: 1815 + public class NestedOuter // TypeDefIndex: 1822 { // Nested types - public class NestedInner // TypeDefIndex: 1816 + public class NestedInner // TypeDefIndex: 1823 { // Nested types - public class NestedSubInner // TypeDefIndex: 1817 + public class NestedSubInner // TypeDefIndex: 1824 { // Nested types - public class NestedSubSubInner // TypeDefIndex: 1818 + public class NestedSubSubInner // TypeDefIndex: 1825 { // Constructors public NestedSubSubInner() {} // 0x00000001800E2000-0x00000001800E2000 @@ -164,13 +233,13 @@ namespace Il2CppTests.TestSources public NestedSubSubInner Test4() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 } - public class NestedGeneric // TypeDefIndex: 1819 + public class NestedGeneric // TypeDefIndex: 1826 { // Constructors public NestedGeneric() {} } - public struct NestedStruct // TypeDefIndex: 1820 + public struct NestedStruct // TypeDefIndex: 1827 { } @@ -184,10 +253,10 @@ namespace Il2CppTests.TestSources public NestedSubInner.NestedSubSubInner Test4() => default; // 0x00000001800EA8C0-0x00000001800EA8C0 } - public class NestedInnerSibling // TypeDefIndex: 1821 + public class NestedInnerSibling // TypeDefIndex: 1828 { // Nested types - public class NestedSubInnerSibling // TypeDefIndex: 1822 + public class NestedSubInnerSibling // TypeDefIndex: 1829 { // Constructors public NestedSubInnerSibling() {} // 0x00000001800E2000-0x00000001800E2000 diff --git a/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x86.cs b/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x86.cs index bccc53b..ec74aa6 100644 --- a/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x86.cs +++ b/Il2CppTests/TestExpectedResults/GameAssembly-Scope-x86.cs @@ -10,6 +10,9 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Il2CppTests.DifferentNamespace; using Il2CppTests.TestSources; +using Some.Namespace; +using Some.Namespace.Again.SameLeafName; +using Some.Namespace.SameLeafName; // Image 0: mscorlib.dll - 0-1809 // [assembly: AssemblyCompany] // 0x1000F760-0x1000DC90 @@ -34,7 +37,7 @@ using Il2CppTests.TestSources; [assembly: StringFreezing] // 0x1000F760-0x1000DC90 // [assembly: TypeLibVersion] // 0x1000F760-0x1000DC90 -// Image 1: Scope.dll - 1810-1822 +// Image 1: Scope.dll - 1810-1829 // [assembly: CompilationRelaxations] // 0x1000DC90-0x1000DC90 // [assembly: Debuggable] // 0x1000DC90-0x1000DC90 [assembly: RuntimeCompatibility] // 0x1000DC90-0x1000DC90 @@ -42,35 +45,35 @@ using Il2CppTests.TestSources; 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 + public const string MonoVersion = "2.6.5.0"; // Metadata: 0x000ED090 + public const string MonoCompany = "MONO development team"; // Metadata: 0x000ED09B + public const string MonoProduct = "MONO Common language infrastructure"; // Metadata: 0x000ED0B4 + public const string MonoCopyright = "(c) various MONO Authors"; // Metadata: 0x000ED0DB + public const string FxVersion = "2.0.0.0"; // Metadata: 0x000ED0F7 + public const string VsVersion = "8.0.0.0"; // Metadata: 0x000ED102 + public const string FxFileVersion = "2.0.50727.1433"; // Metadata: 0x000ED10D + public const string VsFileVersion = "8.0.50727.1433"; // Metadata: 0x000ED11F + public const string AssemblyI18N = "I18N, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED131 + public const string AssemblyMicrosoft_VisualStudio = "Microsoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED17C + public const string AssemblyMicrosoft_VisualStudio_Web = "Microsoft.VisualStudio.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED1D9 + public const string AssemblyMicrosoft_VSDesigner = "Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED23A + public const string AssemblyMono_Http = "Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED295 + public const string AssemblyMono_Posix = "Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED2E5 + public const string AssemblyMono_Security = "Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED336 + public const string AssemblyMono_Messaging_RabbitMQ = "Mono.Messaging.RabbitMQ, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED38A + public const string AssemblyCorlib = "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED3E8 + public const string AssemblySystem = "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED437 + public const string AssemblySystem_Data = "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED484 + public const string AssemblySystem_Design = "System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED4D6 + public const string AssemblySystem_DirectoryServices = "System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED52A + public const string AssemblySystem_Drawing = "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED589 + public const string AssemblySystem_Drawing_Design = "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED5DE + public const string AssemblySystem_Messaging = "System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED63A + public const string AssemblySystem_Security = "System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED691 + public const string AssemblySystem_ServiceProcess = "System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED6E7 + public const string AssemblySystem_Web = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED743 + public const string AssemblySystem_Windows_Forms = "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED794 + public const string AssemblySystem_Core = "System.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED7EF } internal sealed class Locale // TypeDefIndex: 101 @@ -83,15 +86,51 @@ internal sealed class Locale // TypeDefIndex: 101 public static string GetText(string fmt, params /* 0x1000A660-0x1000A660 */ object[] args) => default; // 0x10261460-0x102614B0 } +namespace Some.Namespace +{ + public class Test // TypeDefIndex: 1811 + { + // Fields + public Again.SameLeafName.Test foo; // 0x08 + + // Constructors + public Test() {} // 0x100BF000-0x100BF000 + } +} + +namespace Some.Namespace.Again.SameLeafName +{ + public class Test // TypeDefIndex: 1812 + { + // Fields + public Namespace.Test foo; // 0x08 + + // Constructors + public Test() {} // 0x100BF000-0x100BF000 + + // Methods + public AClassFromUsingDirective Test1() => default; // 0x100C5600-0x100C5600 + } +} + +namespace Some.Namespace.SameLeafName +{ + public class AClassFromUsingDirective // TypeDefIndex: 1813 + { + // Constructors + public AClassFromUsingDirective() {} // 0x100BF000-0x100BF000 + } +} + namespace DifferentNamespace { - public class NestedOuter // TypeDefIndex: 1811 + public class NestedOuter // TypeDefIndex: 1814 { // Nested types - public class NestedIntermediate // TypeDefIndex: 1812 + public class NestedIntermediate // TypeDefIndex: 1815 { // Nested types - public class NestedInner // TypeDefIndex: 1813 + public class NestedInner // TypeDefIndex: 1816 { // Constructors public NestedInner() {} // 0x100BF000-0x100BF000 @@ -115,11 +154,41 @@ namespace DifferentNamespace public Il2CppTests.TestSources.NestedOuter Test3() => default; // 0x100C5600-0x100C5600 public Il2CppTests.TestSources.NestedOuter.NestedInner Test4() => default; // 0x100C5600-0x100C5600 } + + public class TwoLevelConflictingParentScope // TypeDefIndex: 1817 + { + // Nested types + public class NestedOuter // TypeDefIndex: 1818 + { + // Nested types + public class NestedInner // TypeDefIndex: 1819 + { + // Nested types + public class NestedSubInner // TypeDefIndex: 1820 + { + // Constructors + public NestedSubInner() {} // 0x100BF000-0x100BF000 + } + + // Constructors + public NestedInner() {} // 0x100BF000-0x100BF000 + + // Methods + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test1() => default; // 0x100C5600-0x100C5600 + } + + // Constructors + public NestedOuter() {} // 0x100BF000-0x100BF000 + } + + // Constructors + public TwoLevelConflictingParentScope() {} // 0x100BF000-0x100BF000 + } } namespace Il2CppTests.DifferentNamespace { - public class NestedOuter // TypeDefIndex: 1814 + public class NestedOuter // TypeDefIndex: 1821 { // Constructors public NestedOuter() {} // 0x100BF000-0x100BF000 @@ -133,16 +202,16 @@ namespace Il2CppTests.DifferentNamespace namespace Il2CppTests.TestSources { - public class NestedOuter // TypeDefIndex: 1815 + public class NestedOuter // TypeDefIndex: 1822 { // Nested types - public class NestedInner // TypeDefIndex: 1816 + public class NestedInner // TypeDefIndex: 1823 { // Nested types - public class NestedSubInner // TypeDefIndex: 1817 + public class NestedSubInner // TypeDefIndex: 1824 { // Nested types - public class NestedSubSubInner // TypeDefIndex: 1818 + public class NestedSubSubInner // TypeDefIndex: 1825 { // Constructors public NestedSubSubInner() {} // 0x100BF000-0x100BF000 @@ -164,13 +233,13 @@ namespace Il2CppTests.TestSources public NestedSubSubInner Test4() => default; // 0x100C5600-0x100C5600 } - public class NestedGeneric // TypeDefIndex: 1819 + public class NestedGeneric // TypeDefIndex: 1826 { // Constructors public NestedGeneric() {} } - public struct NestedStruct // TypeDefIndex: 1820 + public struct NestedStruct // TypeDefIndex: 1827 { } @@ -184,10 +253,10 @@ namespace Il2CppTests.TestSources public NestedSubInner.NestedSubSubInner Test4() => default; // 0x100C5600-0x100C5600 } - public class NestedInnerSibling // TypeDefIndex: 1821 + public class NestedInnerSibling // TypeDefIndex: 1828 { // Nested types - public class NestedSubInnerSibling // TypeDefIndex: 1822 + public class NestedSubInnerSibling // TypeDefIndex: 1829 { // Constructors public NestedSubInnerSibling() {} // 0x100BF000-0x100BF000 diff --git a/Il2CppTests/TestExpectedResults/Scope.cs b/Il2CppTests/TestExpectedResults/Scope.cs index 7881833..b37e51a 100644 --- a/Il2CppTests/TestExpectedResults/Scope.cs +++ b/Il2CppTests/TestExpectedResults/Scope.cs @@ -10,207 +10,276 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Il2CppTests.DifferentNamespace; using Il2CppTests.TestSources; +using Some.Namespace; +using Some.Namespace.Again.SameLeafName; +using Some.Namespace.SameLeafName; // 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 +// [assembly: AssemblyCompany] // 0x000A53A8-0x000A569C +// [assembly: AssemblyCopyright] // 0x000A53A8-0x000A569C +// [assembly: AssemblyDefaultAlias] // 0x000A53A8-0x000A569C +// [assembly: AssemblyDelaySign] // 0x000A53A8-0x000A569C +// [assembly: AssemblyDescription] // 0x000A53A8-0x000A569C +// [assembly: AssemblyFileVersion] // 0x000A53A8-0x000A569C +// [assembly: AssemblyInformationalVersion] // 0x000A53A8-0x000A569C +// [assembly: AssemblyKeyFile] // 0x000A53A8-0x000A569C +// [assembly: AssemblyProduct] // 0x000A53A8-0x000A569C +// [assembly: AssemblyTitle] // 0x000A53A8-0x000A569C +// [assembly: CLSCompliant] // 0x000A53A8-0x000A569C +// [assembly: CompilationRelaxations] // 0x000A53A8-0x000A569C +// [assembly: ComVisible] // 0x000A53A8-0x000A569C +// [assembly: Debuggable] // 0x000A53A8-0x000A569C +// [assembly: DefaultDependency] // 0x000A53A8-0x000A569C +// [assembly: Guid] // 0x000A53A8-0x000A569C +// [assembly: NeutralResourcesLanguage] // 0x000A53A8-0x000A569C +[assembly: RuntimeCompatibility] // 0x000A53A8-0x000A569C +// [assembly: SatelliteContractVersion] // 0x000A53A8-0x000A569C +[assembly: StringFreezing] // 0x000A53A8-0x000A569C +// [assembly: TypeLibVersion] // 0x000A53A8-0x000A569C -// Image 1: Scope.dll - 1810-1822 -// [assembly: CompilationRelaxations] // 0x000A558C-0x000A558C -// [assembly: Debuggable] // 0x000A558C-0x000A558C -[assembly: RuntimeCompatibility] // 0x000A558C-0x000A558C +// Image 1: Scope.dll - 1810-1829 +// [assembly: CompilationRelaxations] // 0x000A569C-0x000A569C +// [assembly: Debuggable] // 0x000A569C-0x000A569C +[assembly: RuntimeCompatibility] // 0x000A569C-0x000A569C 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 + public const string MonoVersion = "2.6.5.0"; // Metadata: 0x000ED090 + public const string MonoCompany = "MONO development team"; // Metadata: 0x000ED09B + public const string MonoProduct = "MONO Common language infrastructure"; // Metadata: 0x000ED0B4 + public const string MonoCopyright = "(c) various MONO Authors"; // Metadata: 0x000ED0DB + public const string FxVersion = "2.0.0.0"; // Metadata: 0x000ED0F7 + public const string VsVersion = "8.0.0.0"; // Metadata: 0x000ED102 + public const string FxFileVersion = "2.0.50727.1433"; // Metadata: 0x000ED10D + public const string VsFileVersion = "8.0.50727.1433"; // Metadata: 0x000ED11F + public const string AssemblyI18N = "I18N, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED131 + public const string AssemblyMicrosoft_VisualStudio = "Microsoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED17C + public const string AssemblyMicrosoft_VisualStudio_Web = "Microsoft.VisualStudio.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED1D9 + public const string AssemblyMicrosoft_VSDesigner = "Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED23A + public const string AssemblyMono_Http = "Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED295 + public const string AssemblyMono_Posix = "Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED2E5 + public const string AssemblyMono_Security = "Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED336 + public const string AssemblyMono_Messaging_RabbitMQ = "Mono.Messaging.RabbitMQ, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // Metadata: 0x000ED38A + public const string AssemblyCorlib = "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED3E8 + public const string AssemblySystem = "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED437 + public const string AssemblySystem_Data = "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED484 + public const string AssemblySystem_Design = "System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED4D6 + public const string AssemblySystem_DirectoryServices = "System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED52A + public const string AssemblySystem_Drawing = "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED589 + public const string AssemblySystem_Drawing_Design = "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED5DE + public const string AssemblySystem_Messaging = "System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED63A + public const string AssemblySystem_Security = "System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED691 + public const string AssemblySystem_ServiceProcess = "System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED6E7 + public const string AssemblySystem_Web = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Metadata: 0x000ED743 + public const string AssemblySystem_Windows_Forms = "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED794 + public const string AssemblySystem_Core = "System.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Metadata: 0x000ED7EF } internal sealed class Locale // TypeDefIndex: 101 { // Constructors - private Locale() {} // 0x003ECC60-0x003ECC68 + private Locale() {} // 0x003ECD70-0x003ECD78 // Methods - public static string GetText(string msg) => default; // 0x003ECC68-0x003ECC6C - public static string GetText(string fmt, params /* 0x000A3AC4-0x000A3AD4 */ object[] args) => default; // 0x003ECC6C-0x003ECCF8 + public static string GetText(string msg) => default; // 0x003ECD78-0x003ECD7C + public static string GetText(string fmt, params /* 0x000A3BD4-0x000A3BE4 */ object[] args) => default; // 0x003ECD7C-0x003ECE08 +} + +namespace Some.Namespace +{ + public class Test // TypeDefIndex: 1811 + { + // Fields + public Again.SameLeafName.Test foo; // 0x08 + + // Constructors + public Test() {} // 0x00562138-0x00562138 + } +} + +namespace Some.Namespace.Again.SameLeafName +{ + public class Test // TypeDefIndex: 1812 + { + // Fields + public Namespace.Test foo; // 0x08 + + // Constructors + public Test() {} // 0x00562128-0x00562130 + + // Methods + public AClassFromUsingDirective Test1() => default; // 0x00562120-0x00562128 + } +} + +namespace Some.Namespace.SameLeafName +{ + public class AClassFromUsingDirective // TypeDefIndex: 1813 + { + // Constructors + public AClassFromUsingDirective() {} // 0x00562130-0x00562138 + } } namespace DifferentNamespace { - public class NestedOuter // TypeDefIndex: 1811 + public class NestedOuter // TypeDefIndex: 1814 { // Nested types - public class NestedIntermediate // TypeDefIndex: 1812 + public class NestedIntermediate // TypeDefIndex: 1815 { // Nested types - public class NestedInner // TypeDefIndex: 1813 + public class NestedInner // TypeDefIndex: 1816 { // Constructors - public NestedInner() {} // 0x00561EE8-0x00561EF0 + public NestedInner() {} // 0x00561FF8-0x00562000 // 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 + public Il2CppTests.TestSources.NestedOuter Test1() => default; // 0x00561FE0-0x00561FE8 + public Il2CppTests.TestSources.NestedOuter.NestedInner Test2() => default; // 0x00561FE8-0x00561FF0 + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test3() => default; // 0x00561FF0-0x00561FF8 } // Constructors - public NestedIntermediate() {} // 0x00561EC8-0x00561ED0 + public NestedIntermediate() {} // 0x00561FD8-0x00561FE0 } // Constructors - public NestedOuter() {} // 0x00561EC0-0x00561EC8 + public NestedOuter() {} // 0x00561FD0-0x00561FD8 // 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 + public NestedOuter Test1() => default; // 0x00561FB0-0x00561FB8 + public Il2CppTests.DifferentNamespace.NestedOuter Test2() => default; // 0x00561FB8-0x00561FC0 + public Il2CppTests.TestSources.NestedOuter Test3() => default; // 0x00561FC0-0x00561FC8 + public Il2CppTests.TestSources.NestedOuter.NestedInner Test4() => default; // 0x00561FC8-0x00561FD0 + } + + public class TwoLevelConflictingParentScope // TypeDefIndex: 1817 + { + // Nested types + public class NestedOuter // TypeDefIndex: 1818 + { + // Nested types + public class NestedInner // TypeDefIndex: 1819 + { + // Nested types + public class NestedSubInner // TypeDefIndex: 1820 + { + // Constructors + public NestedSubInner() {} // 0x00562020-0x00562028 + } + + // Constructors + public NestedInner() {} // 0x00562018-0x00562020 + + // Methods + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test1() => default; // 0x00562010-0x00562018 + } + + // Constructors + public NestedOuter() {} // 0x00562008-0x00562010 + } + + // Constructors + public TwoLevelConflictingParentScope() {} // 0x00562000-0x00562008 } } namespace Il2CppTests.DifferentNamespace { - public class NestedOuter // TypeDefIndex: 1814 + public class NestedOuter // TypeDefIndex: 1821 { // Constructors - public NestedOuter() {} // 0x00561F08-0x00561F10 + public NestedOuter() {} // 0x00562040-0x00562048 // Methods - public NestedOuter Test1() => default; // 0x00561EF0-0x00561EF8 - public TestSources.NestedOuter Test2() => default; // 0x00561EF8-0x00561F00 - public TestSources.NestedOuter.NestedInner Test3() => default; // 0x00561F00-0x00561F08 + public NestedOuter Test1() => default; // 0x00562028-0x00562030 + public TestSources.NestedOuter Test2() => default; // 0x00562030-0x00562038 + public TestSources.NestedOuter.NestedInner Test3() => default; // 0x00562038-0x00562040 } } namespace Il2CppTests.TestSources { - public class NestedOuter // TypeDefIndex: 1815 + public class NestedOuter // TypeDefIndex: 1822 { // Nested types - public class NestedInner // TypeDefIndex: 1816 + public class NestedInner // TypeDefIndex: 1823 { // Nested types - public class NestedSubInner // TypeDefIndex: 1817 + public class NestedSubInner // TypeDefIndex: 1824 { // Nested types - public class NestedSubSubInner // TypeDefIndex: 1818 + public class NestedSubSubInner // TypeDefIndex: 1825 { // Constructors - public NestedSubSubInner() {} // 0x00561FB8-0x00561FC0 + public NestedSubSubInner() {} // 0x005620F0-0x005620F8 // 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 + public NestedOuter Test1() => default; // 0x005620D0-0x005620D8 + public NestedInner Test2() => default; // 0x005620D8-0x005620E0 + public NestedSubInner Test3() => default; // 0x005620E0-0x005620E8 + public NestedSubSubInner Test4() => default; // 0x005620E8-0x005620F0 } // Constructors - public NestedSubInner() {} // 0x00561F90-0x00561F98 + public NestedSubInner() {} // 0x005620C8-0x005620D0 // 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 NestedOuter Test1() => default; // 0x005620A8-0x005620B0 + public NestedInner Test2() => default; // 0x005620B0-0x005620B8 + public NestedSubInner Test3() => default; // 0x005620B8-0x005620C0 + public NestedSubSubInner Test4() => default; // 0x005620C0-0x005620C8 } - public class NestedGeneric // TypeDefIndex: 1819 + public class NestedGeneric // TypeDefIndex: 1826 { // Constructors public NestedGeneric() {} } - public struct NestedStruct // TypeDefIndex: 1820 + public struct NestedStruct // TypeDefIndex: 1827 { } // Constructors - public NestedInner() {} // 0x00561F68-0x00561F70 + public NestedInner() {} // 0x005620A0-0x005620A8 // 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 NestedOuter Test1() => default; // 0x00562080-0x00562088 + public NestedInner Test2() => default; // 0x00562088-0x00562090 + public NestedSubInner Test3() => default; // 0x00562090-0x00562098 + public NestedSubInner.NestedSubSubInner Test4() => default; // 0x00562098-0x005620A0 } - public class NestedInnerSibling // TypeDefIndex: 1821 + public class NestedInnerSibling // TypeDefIndex: 1828 { // Nested types - public class NestedSubInnerSibling // TypeDefIndex: 1822 + public class NestedSubInnerSibling // TypeDefIndex: 1829 { // Constructors - public NestedSubInnerSibling() {} // 0x00561FE0-0x00561FE0 + public NestedSubInnerSibling() {} // 0x00562118-0x00562120 // Methods - public NestedOuter Test1() => default; // 0x00561FC8-0x00561FD0 - public NestedInner Test2() => default; // 0x00561FD0-0x00561FD8 - public NestedInner.NestedSubInner Test3() => default; // 0x00561FD8-0x00561FE0 + public NestedOuter Test1() => default; // 0x00562100-0x00562108 + public NestedInner Test2() => default; // 0x00562108-0x00562110 + public NestedInner.NestedSubInner Test3() => default; // 0x00562110-0x00562118 } // Constructors - public NestedInnerSibling() {} // 0x00561FC0-0x00561FC8 + public NestedInnerSibling() {} // 0x005620F8-0x00562100 } // Constructors - public NestedOuter() {} // 0x00561F40-0x00561F48 + public NestedOuter() {} // 0x00562078-0x00562080 // 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 + public NestedOuter Test1() => default; // 0x00562048-0x00562050 + public NestedInner Test2() => default; // 0x00562050-0x00562058 + public NestedInner.NestedSubInner Test3() => default; // 0x00562058-0x00562060 + public NestedInner.NestedSubInner.NestedSubSubInner Test4() => default; // 0x00562060-0x00562068 + public NestedInner.NestedGeneric GenericNestingScopes() => default; // 0x00562068-0x00562070 + public NestedInner.NestedStruct? NullableStruct() => default; // 0x00562070-0x00562078 } } diff --git a/Il2CppTests/TestSources/Scope.cs b/Il2CppTests/TestSources/Scope.cs index db53c36..5aab7ae 100644 --- a/Il2CppTests/TestSources/Scope.cs +++ b/Il2CppTests/TestSources/Scope.cs @@ -4,29 +4,99 @@ All rights reserved. */ +using Il2CppTests.DifferentNamespace; +using Il2CppTests.TestSources; +using Some.Namespace; +using Some.Namespace.Again.SameLeafName; +using Some.Namespace.SameLeafName; + #pragma warning disable CS0169 + +// Namespace nesting and using directive tests +namespace Some.Namespace +{ + public class Test + { + // Namespace references can either be children... + public Again.SameLeafName.Test foo; + } +} + +namespace Some.Namespace.Again.SameLeafName +{ + public class Test + { + // ..or from a parent + public Namespace.Test foo; + + // Test to make sure this references the correct namespace + public AClassFromUsingDirective Test1() => default; + } +} + +namespace Some.Namespace.SameLeafName +{ + public class AClassFromUsingDirective {} +} + + +// Different namespace with matching name at leaf level as Il2CppTests.DifferentNamespace +namespace DifferentNamespace +{ + public class NestedOuter + { + 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 NestedOuter Test1() => default; + public Il2CppTests.DifferentNamespace.NestedOuter Test2() => default; + public Il2CppTests.TestSources.NestedOuter Test3() => default; + public Il2CppTests.TestSources.NestedOuter.NestedInner Test4() => default; + } + + public class TwoLevelConflictingParentScope + { + public class NestedOuter + { + public class NestedInner + { + public class NestedSubInner + { + + } + + public Il2CppTests.TestSources.NestedOuter.NestedInner.NestedSubInner Test1() => default; + } + } + } +} + +// Same base namespace as Il2CppTests.Sources +namespace Il2CppTests.DifferentNamespace +{ + public class NestedOuter + { + public NestedOuter Test1() => default; + public TestSources.NestedOuter Test2() => default; + public TestSources.NestedOuter.NestedInner Test3() => default; + } +} + +// Nested class tests 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; @@ -34,19 +104,23 @@ namespace Il2CppTests.TestSources public NestedSubInner Test3() => default; public NestedSubSubInner Test4() => default; } + + public NestedOuter Test1() => default; + public NestedInner Test2() => default; + public NestedSubInner Test3() => default; + public NestedSubSubInner Test4() => default; } + public NestedOuter Test1() => default; + public NestedInner Test2() => default; + public NestedSubInner Test3() => default; + public NestedSubInner.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 { @@ -57,55 +131,17 @@ namespace Il2CppTests.TestSources 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; - } -} + public NestedInner Test2() => default; + public NestedInner.NestedSubInner Test3() => default; + public NestedInner.NestedSubInner.NestedSubSubInner Test4() => 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; + // Generic nested scopes + public NestedInner.NestedGeneric GenericNestingScopes() => 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 - { - - } - } - } + // Nullable type in nested scope + public NestedInner.NestedStruct? NullableStruct() => default; } } #pragma warning restore CS0169