Tests: Add Enums field offsets test (#62)
This commit is contained in:
@@ -83,7 +83,11 @@
|
|||||||
<Content Include="TestExpectedResults\PartialGenericTypes-ARM64.cs" />
|
<Content Include="TestExpectedResults\PartialGenericTypes-ARM64.cs" />
|
||||||
<Content Include="TestExpectedResults\VTablesAndLayout-ARMv7.cs" />
|
<Content Include="TestExpectedResults\VTablesAndLayout-ARMv7.cs" />
|
||||||
<Content Include="TestExpectedResults\VTablesAndLayout-ARM64.cs" />
|
<Content Include="TestExpectedResults\VTablesAndLayout-ARM64.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-Enums-x64.cs" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-Enums-x86.cs" />
|
||||||
|
<Content Include="TestExpectedResults\Enums-ARMv7.cs" />
|
||||||
|
<Content Include="TestExpectedResults\Enums-ARM64.cs" />
|
||||||
|
|
||||||
<Content Include="TestExpectedResults\ExplicitInterfaces-ARMv7.json" />
|
<Content Include="TestExpectedResults\ExplicitInterfaces-ARMv7.json" />
|
||||||
<Content Include="TestExpectedResults\ExplicitInterfaces-ARM64.json" />
|
<Content Include="TestExpectedResults\ExplicitInterfaces-ARM64.json" />
|
||||||
<Content Include="TestExpectedResults\GameAssembly-ExplicitInterfaces-x64.json" />
|
<Content Include="TestExpectedResults\GameAssembly-ExplicitInterfaces-x64.json" />
|
||||||
@@ -136,6 +140,11 @@
|
|||||||
<Content Include="TestExpectedResults\PartialGenericTypes-ARM64.json" />
|
<Content Include="TestExpectedResults\PartialGenericTypes-ARM64.json" />
|
||||||
<Content Include="TestExpectedResults\VTablesAndLayout-ARMv7.json" />
|
<Content Include="TestExpectedResults\VTablesAndLayout-ARMv7.json" />
|
||||||
<Content Include="TestExpectedResults\VTablesAndLayout-ARM64.json" />
|
<Content Include="TestExpectedResults\VTablesAndLayout-ARM64.json" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-Enums-x64.json" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-Enums-x86.json" />
|
||||||
|
<Content Include="TestExpectedResults\Enums-ARMv7.json" />
|
||||||
|
<Content Include="TestExpectedResults\Enums-ARM64.json" />
|
||||||
|
|
||||||
|
|
||||||
<Content Include="TestExpectedResults\ExplicitInterfaces-ARMv7.h" />
|
<Content Include="TestExpectedResults\ExplicitInterfaces-ARMv7.h" />
|
||||||
<Content Include="TestExpectedResults\ExplicitInterfaces-ARM64.h" />
|
<Content Include="TestExpectedResults\ExplicitInterfaces-ARM64.h" />
|
||||||
@@ -189,6 +198,10 @@
|
|||||||
<Content Include="TestExpectedResults\PartialGenericTypes-ARM64.h" />
|
<Content Include="TestExpectedResults\PartialGenericTypes-ARM64.h" />
|
||||||
<Content Include="TestExpectedResults\VTablesAndLayout-ARMv7.h" />
|
<Content Include="TestExpectedResults\VTablesAndLayout-ARMv7.h" />
|
||||||
<Content Include="TestExpectedResults\VTablesAndLayout-ARM64.h" />
|
<Content Include="TestExpectedResults\VTablesAndLayout-ARM64.h" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-Enums-x64.h" />
|
||||||
|
<Content Include="TestExpectedResults\GameAssembly-Enums-x86.h" />
|
||||||
|
<Content Include="TestExpectedResults\Enums-ARMv7.h" />
|
||||||
|
<Content Include="TestExpectedResults\Enums-ARM64.h" />
|
||||||
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
1046
Il2CppTests/TestExpectedResults/Enums-ARM64.cs
Normal file
1046
Il2CppTests/TestExpectedResults/Enums-ARM64.cs
Normal file
File diff suppressed because it is too large
Load Diff
191725
Il2CppTests/TestExpectedResults/Enums-ARM64.h
Normal file
191725
Il2CppTests/TestExpectedResults/Enums-ARM64.h
Normal file
File diff suppressed because it is too large
Load Diff
393724
Il2CppTests/TestExpectedResults/Enums-ARM64.json
Normal file
393724
Il2CppTests/TestExpectedResults/Enums-ARM64.json
Normal file
File diff suppressed because it is too large
Load Diff
1046
Il2CppTests/TestExpectedResults/Enums-ARMv7.cs
Normal file
1046
Il2CppTests/TestExpectedResults/Enums-ARMv7.cs
Normal file
File diff suppressed because it is too large
Load Diff
191726
Il2CppTests/TestExpectedResults/Enums-ARMv7.h
Normal file
191726
Il2CppTests/TestExpectedResults/Enums-ARMv7.h
Normal file
File diff suppressed because it is too large
Load Diff
394964
Il2CppTests/TestExpectedResults/Enums-ARMv7.json
Normal file
394964
Il2CppTests/TestExpectedResults/Enums-ARMv7.json
Normal file
File diff suppressed because it is too large
Load Diff
1046
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x64.cs
Normal file
1046
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x64.cs
Normal file
File diff suppressed because it is too large
Load Diff
191864
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x64.h
Normal file
191864
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x64.h
Normal file
File diff suppressed because it is too large
Load Diff
354720
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x64.json
Normal file
354720
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x64.json
Normal file
File diff suppressed because it is too large
Load Diff
1046
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x86.cs
Normal file
1046
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x86.cs
Normal file
File diff suppressed because it is too large
Load Diff
191865
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x86.h
Normal file
191865
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x86.h
Normal file
File diff suppressed because it is too large
Load Diff
354499
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x86.json
Normal file
354499
Il2CppTests/TestExpectedResults/GameAssembly-Enums-x86.json
Normal file
File diff suppressed because it is too large
Load Diff
79
Il2CppTests/TestSources/Enums.cs
Normal file
79
Il2CppTests/TestSources/Enums.cs
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 Katy Coe - http://www.djkaty.com - https://github.com/djkaty
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Il2CppTests.TestSources
|
||||||
|
{
|
||||||
|
// Test to ensure that offsets in structs and classes are calculated correctly for various enum field sizes
|
||||||
|
|
||||||
|
#pragma warning disable CS0169
|
||||||
|
public enum EnumOfSize1 : byte
|
||||||
|
{
|
||||||
|
Option1,
|
||||||
|
Option2,
|
||||||
|
Option3
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum EnumOfSize2 : ushort
|
||||||
|
{
|
||||||
|
Option1,
|
||||||
|
Option2,
|
||||||
|
Option3
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum EnumOfSize4 : int
|
||||||
|
{
|
||||||
|
Option1,
|
||||||
|
Option2,
|
||||||
|
Option3
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum EnumOfSize8 : ulong
|
||||||
|
{
|
||||||
|
Option1,
|
||||||
|
Option2,
|
||||||
|
Option3
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct StructWithEnumFields
|
||||||
|
{
|
||||||
|
ushort a;
|
||||||
|
EnumOfSize1 b;
|
||||||
|
ushort c;
|
||||||
|
EnumOfSize2 d;
|
||||||
|
ushort e;
|
||||||
|
EnumOfSize4 f;
|
||||||
|
ushort g;
|
||||||
|
EnumOfSize8 h;
|
||||||
|
ushort i;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ClassWithEnumFields
|
||||||
|
{
|
||||||
|
ushort a;
|
||||||
|
EnumOfSize1 b;
|
||||||
|
ushort c;
|
||||||
|
EnumOfSize2 d;
|
||||||
|
ushort e;
|
||||||
|
EnumOfSize4 f;
|
||||||
|
ushort g;
|
||||||
|
EnumOfSize8 h;
|
||||||
|
ushort i;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ClassWithEnumAutoProperties
|
||||||
|
{
|
||||||
|
ushort a { get; }
|
||||||
|
EnumOfSize1 b { get; }
|
||||||
|
ushort c { get; }
|
||||||
|
EnumOfSize2 d { get; }
|
||||||
|
ushort e { get; }
|
||||||
|
EnumOfSize4 f { get; }
|
||||||
|
ushort g { get; }
|
||||||
|
EnumOfSize8 h { get; }
|
||||||
|
ushort i { get; }
|
||||||
|
}
|
||||||
|
#pragma warning disable CS0169
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user