Tests: Add ArraysAndPointers and CustomAttributeData; update all expected results
This commit is contained in:
@@ -27,15 +27,29 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Remove="TestSources\ArraysAndPointers.cs" />
|
||||||
<Compile Remove="TestSources\CustomAttributeData.cs" />
|
<Compile Remove="TestSources\CustomAttributeData.cs" />
|
||||||
<Compile Remove="TestSources\GenericTypes.cs" />
|
<Compile Remove="TestSources\GenericTypes.cs" />
|
||||||
<Compile Remove="TestSources\Methods.cs" />
|
<Compile Remove="TestSources\Methods.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="TestExpectedResults\ArraysAndPointers.cs" />
|
||||||
|
<Content Include="TestExpectedResults\CustomAttributeData.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-ArraysAndPointers-x64.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-ArraysAndPointers-x86.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-CustomAttributeData-x64.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-CustomAttributeData-x86.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-GenericTypes-x64.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-GenericTypes-x86.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GenericTypes.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="TestExpectedResults\GameAssembly-Methods-x64.cs" />
|
<Content Include="TestExpectedResults\GameAssembly-Methods-x64.cs" />
|
||||||
<Content Include="TestExpectedResults\GameAssembly-Methods-x86.cs" />
|
<Content Include="TestExpectedResults\GameAssembly-Methods-x86.cs" />
|
||||||
<Content Include="TestExpectedResults\Methods.cs" />
|
<Content Include="TestExpectedResults\Methods.cs" />
|
||||||
|
<Content Include="TestSources\ArraysAndPointers.cs" />
|
||||||
<Content Include="TestSources\CustomAttributeData.cs" />
|
<Content Include="TestSources\CustomAttributeData.cs" />
|
||||||
<Content Include="TestSources\GenericTypes.cs" />
|
<Content Include="TestSources\GenericTypes.cs" />
|
||||||
<Content Include="TestSources\Methods.cs" />
|
<Content Include="TestSources\Methods.cs" />
|
||||||
|
|||||||
34
Il2CppTests/TestExpectedResults/ArraysAndPointers.cs
Normal file
34
Il2CppTests/TestExpectedResults/ArraysAndPointers.cs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
// Image 0: mscorlib.dll - 0
|
||||||
|
// Image 1: ArraysAndPointers.dll - 1810
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
internal class Test // TypeDefIndex: 1811
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private int[] foo; // 0x08
|
||||||
|
private int[] bar; // 0x0C
|
||||||
|
private float[][] arrayOfArrays; // 0x10
|
||||||
|
private float[,] twoDimensionalArray; // 0x14
|
||||||
|
private float[,,] threeDimensionalArray; // 0x18
|
||||||
|
private int*[] arrayOfPointer; // 0x1C
|
||||||
|
private int** pointerToPointer; // 0x20
|
||||||
|
private float*[][,,][] confusedElephant; // 0x24
|
||||||
|
|
||||||
|
// Nested types
|
||||||
|
private struct fixedSizeArrayStruct // TypeDefIndex: 1812
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private fixed /* 0x000A6CAC */ int fixedSizeArray[0]; // 0x08
|
||||||
|
|
||||||
|
// Nested types
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
public Test(); // 0x00562BA0
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
public int[] FooMethod(int[][] bar); // 0x00562AC8
|
||||||
|
public int[,] BarMethod(int[,,] baz); // 0x00562B28
|
||||||
|
}
|
||||||
|
|
||||||
47
Il2CppTests/TestExpectedResults/CustomAttributeData.cs
Normal file
47
Il2CppTests/TestExpectedResults/CustomAttributeData.cs
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
// Image 0: mscorlib.dll - 0
|
||||||
|
// Image 1: CustomAttributeData.dll - 1810
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
public enum ExampleKind // TypeDefIndex: 1811
|
||||||
|
{
|
||||||
|
FirstKind = 0,
|
||||||
|
SecondKind = 1,
|
||||||
|
ThirdKind = 2,
|
||||||
|
FourthKind = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
[AttributeUsage] // 0x000A5070
|
||||||
|
public class ExampleAttribute : Attribute // TypeDefIndex: 1812
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private ExampleKind kindValue; // 0x08
|
||||||
|
private string noteValue; // 0x0C
|
||||||
|
private string[] arrayStrings; // 0x10
|
||||||
|
private int[] arrayNumbers; // 0x14
|
||||||
|
|
||||||
|
// Properties
|
||||||
|
public ExampleKind Kind { get; } // 0x005612FC
|
||||||
|
public string[] Strings { get; } // 0x00561304
|
||||||
|
public string Note { get; set; } // 0x0056130C 0x00561314
|
||||||
|
public int[] Numbers { get; set; } // 0x0056131C 0x00561324
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
public ExampleAttribute(ExampleKind initKind, string[] initStrings); // 0x00561288
|
||||||
|
public ExampleAttribute(ExampleKind initKind); // 0x005612B0
|
||||||
|
public ExampleAttribute(); // 0x005612D8
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
[Example] // 0x000A5084
|
||||||
|
public class Test // TypeDefIndex: 1813
|
||||||
|
{
|
||||||
|
// Constructors
|
||||||
|
public Test(); // 0x00561330
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
[Example] // 0x000A5208
|
||||||
|
public void TestMethod([Example] /* 0x000A525C */ object arg); // 0x0056132C
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
// Image 0: mscorlib.dll - 0
|
||||||
|
// Image 1: ArraysAndPointers.dll - 1810
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
internal class Test // TypeDefIndex: 1811
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private int[] foo; // 0x10
|
||||||
|
private int[] bar; // 0x20
|
||||||
|
private float[][] arrayOfArrays; // 0x30
|
||||||
|
private float[,] twoDimensionalArray; // 0x40
|
||||||
|
private float[,,] threeDimensionalArray; // 0x10
|
||||||
|
private int*[] arrayOfPointer; // 0x29
|
||||||
|
private int** pointerToPointer; // 0x8047EC30
|
||||||
|
private float*[][,,][] confusedElephant; // 0x00
|
||||||
|
|
||||||
|
// Nested types
|
||||||
|
private struct fixedSizeArrayStruct // TypeDefIndex: 1812
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private fixed /* 0x000000018000CC70 */ int fixedSizeArray[0]; // 0x10
|
||||||
|
|
||||||
|
// Nested types
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
public Test(); // 0x00000001803E0EE0
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
public int[] FooMethod(int[][] bar); // 0x00000001803E0EA0
|
||||||
|
public int[,] BarMethod(int[,,] baz); // 0x00000001803E0E50
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
// Image 0: mscorlib.dll - 0
|
||||||
|
// Image 1: ArraysAndPointers.dll - 1810
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
internal class Test // TypeDefIndex: 1811
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private int[] foo; // 0x08
|
||||||
|
private int[] bar; // 0x0C
|
||||||
|
private float[][] arrayOfArrays; // 0x10
|
||||||
|
private float[,] twoDimensionalArray; // 0x14
|
||||||
|
private float[,,] threeDimensionalArray; // 0x18
|
||||||
|
private int*[] arrayOfPointer; // 0x1C
|
||||||
|
private int** pointerToPointer; // 0x20
|
||||||
|
private float*[][,,][] confusedElephant; // 0x24
|
||||||
|
|
||||||
|
// Nested types
|
||||||
|
private struct fixedSizeArrayStruct // TypeDefIndex: 1812
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private fixed /* 0x1000DE40 */ int fixedSizeArray[0]; // 0x08
|
||||||
|
|
||||||
|
// Nested types
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
public Test(); // 0x1034DAE0
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
public int[] FooMethod(int[][] bar); // 0x1034DAB0
|
||||||
|
public int[,] BarMethod(int[,,] baz); // 0x1034DA60
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
// Image 0: mscorlib.dll - 0
|
||||||
|
// Image 1: CustomAttributeData.dll - 1810
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
public enum ExampleKind // TypeDefIndex: 1811
|
||||||
|
{
|
||||||
|
FirstKind = 0,
|
||||||
|
SecondKind = 1,
|
||||||
|
ThirdKind = 2,
|
||||||
|
FourthKind = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
[AttributeUsage] // 0x000000018000C5B0
|
||||||
|
public class ExampleAttribute : Attribute // TypeDefIndex: 1812
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private ExampleKind kindValue; // 0x10
|
||||||
|
private string noteValue; // 0x20
|
||||||
|
private string[] arrayStrings; // 0x29
|
||||||
|
private int[] arrayNumbers; // 0x8047D628
|
||||||
|
|
||||||
|
// Properties
|
||||||
|
public ExampleKind Kind { get; } // 0x00000001800ECD10
|
||||||
|
public string[] Strings { get; } // 0x00000001800EAEB0
|
||||||
|
public string Note { get; set; } // 0x00000001803E0EE0 0x00000001800EAEE0
|
||||||
|
public int[] Numbers { get; set; } // 0x00000001803E0EF0 0x000000018015B760
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
public ExampleAttribute(ExampleKind initKind, string[] initStrings); // 0x00000001803E0E70
|
||||||
|
public ExampleAttribute(ExampleKind initKind); // 0x00000001803E0EB0
|
||||||
|
public ExampleAttribute(); // 0x00000001803E0E50
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
[Example] // 0x000000018000C5D0
|
||||||
|
public class Test // TypeDefIndex: 1813
|
||||||
|
{
|
||||||
|
// Constructors
|
||||||
|
public Test(); // 0x00000001800E2000
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
[Example] // 0x000000018000C710
|
||||||
|
public void TestMethod([Example] /* 0x000000018000C750 */ object arg); // 0x00000001800EA7B0
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
// Image 0: mscorlib.dll - 0
|
||||||
|
// Image 1: CustomAttributeData.dll - 1810
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
public enum ExampleKind // TypeDefIndex: 1811
|
||||||
|
{
|
||||||
|
FirstKind = 0,
|
||||||
|
SecondKind = 1,
|
||||||
|
ThirdKind = 2,
|
||||||
|
FourthKind = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
[AttributeUsage] // 0x1000D430
|
||||||
|
public class ExampleAttribute : Attribute // TypeDefIndex: 1812
|
||||||
|
{
|
||||||
|
// Fields
|
||||||
|
private ExampleKind kindValue; // 0x08
|
||||||
|
private string noteValue; // 0x0C
|
||||||
|
private string[] arrayStrings; // 0x10
|
||||||
|
private int[] arrayNumbers; // 0x14
|
||||||
|
|
||||||
|
// Properties
|
||||||
|
public ExampleKind Kind { get; } // 0x100BF0C0
|
||||||
|
public string[] Strings { get; } // 0x100BFC20
|
||||||
|
public string Note { get; set; } // 0x100C5B30 0x100C5B50
|
||||||
|
public int[] Numbers { get; set; } // 0x100EF0C0 0x10127B00
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
public ExampleAttribute(ExampleKind initKind, string[] initStrings); // 0x1034DA90
|
||||||
|
public ExampleAttribute(ExampleKind initKind); // 0x1034DAC0
|
||||||
|
public ExampleAttribute(); // 0x1034DA60
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Namespace: Il2CppTests.TestSources
|
||||||
|
[Example] // 0x1000D450
|
||||||
|
public class Test // TypeDefIndex: 1813
|
||||||
|
{
|
||||||
|
// Constructors
|
||||||
|
public Test(); // 0x100BF000
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
[Example] // 0x1000D550
|
||||||
|
public void TestMethod([Example] /* 0x1000D590 */ object arg); // 0x100C5530
|
||||||
|
}
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ public class Derived<V> : Base<string, V> // TypeDefIndex: 1812
|
|||||||
public G<Derived<V>> F; // 0x00
|
public G<Derived<V>> F; // 0x00
|
||||||
|
|
||||||
// Nested types
|
// Nested types
|
||||||
public class Nested<V> // TypeDefIndex: 1813
|
public class Nested // TypeDefIndex: 1813
|
||||||
{
|
{
|
||||||
// Constructors
|
// Constructors
|
||||||
public Nested();
|
public Nested();
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class Derived<V> : Base<string, V> // TypeDefIndex: 1812
|
|||||||
public G<Derived<V>> F; // 0x00
|
public G<Derived<V>> F; // 0x00
|
||||||
|
|
||||||
// Nested types
|
// Nested types
|
||||||
public class Nested<V> // TypeDefIndex: 1813
|
public class Nested // TypeDefIndex: 1813
|
||||||
{
|
{
|
||||||
// Constructors
|
// Constructors
|
||||||
public Nested();
|
public Nested();
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class Derived<V> : Base<string, V> // TypeDefIndex: 1812
|
|||||||
public G<Derived<V>> F; // 0x00
|
public G<Derived<V>> F; // 0x00
|
||||||
|
|
||||||
// Nested types
|
// Nested types
|
||||||
public class Nested<V> // TypeDefIndex: 1813
|
public class Nested // TypeDefIndex: 1813
|
||||||
{
|
{
|
||||||
// Constructors
|
// Constructors
|
||||||
public Nested();
|
public Nested();
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ namespace Il2CppInspector
|
|||||||
//(tDerivedArray, "Derived`1[System.Int32][]", false, false, false, false),
|
//(tDerivedArray, "Derived`1[System.Int32][]", false, false, false, false),
|
||||||
(tT, "T", false, false, true, true),
|
(tT, "T", false, false, true, true),
|
||||||
(tF, "G`1[Derived`1[V]]", true, false, true, false),
|
(tF, "G`1[Derived`1[V]]", true, false, true, false),
|
||||||
(tNested, "Derived`1+Nested[V]", true, true, true, false)
|
(tNested, "Derived`1[V]+Nested[V]", true, true, true, false)
|
||||||
};
|
};
|
||||||
|
|
||||||
foreach (var check in checks) {
|
foreach (var check in checks) {
|
||||||
|
|||||||
34
Il2CppTests/TestSources/ArraysAndPointers.cs
Normal file
34
Il2CppTests/TestSources/ArraysAndPointers.cs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017-2019 Katy Coe - http://www.hearthcode.org - http://www.djkaty.com
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Il2CppTests.TestSources
|
||||||
|
{
|
||||||
|
#pragma warning disable CS0169
|
||||||
|
internal unsafe class Test
|
||||||
|
{
|
||||||
|
private int[] foo;
|
||||||
|
private int[] bar = new int[10];
|
||||||
|
|
||||||
|
private struct fixedSizeArrayStruct
|
||||||
|
{
|
||||||
|
private fixed int fixedSizeArray[25];
|
||||||
|
}
|
||||||
|
|
||||||
|
private float[][] arrayOfArrays;
|
||||||
|
private float[,] twoDimensionalArray;
|
||||||
|
private float[,,] threeDimensionalArray;
|
||||||
|
|
||||||
|
public int[] FooMethod(int[][] bar) => new int[20];
|
||||||
|
|
||||||
|
public int[,] BarMethod(int[,,] baz) => new int[5, 6];
|
||||||
|
|
||||||
|
private int*[] arrayOfPointer;
|
||||||
|
private int** pointerToPointer;
|
||||||
|
|
||||||
|
private float*[][,,][] confusedElephant;
|
||||||
|
}
|
||||||
|
#pragma warning restore CS0169
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user