79 lines
1.5 KiB
C#
79 lines
1.5 KiB
C#
/*
|
|
Copyright 2020-2021 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
|
|
} |