Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HasDeclSecurityTag.cs
Go to the documentation of this file.
2
4
5internal static class HasDeclSecurityTag
6{
7 internal const int NumberOfBits = 2;
8
9 internal const int LargeRowSize = 16384;
10
11 internal const uint TypeDef = 0u;
12
13 internal const uint MethodDef = 1u;
14
15 internal const uint Assembly = 2u;
16
17 internal const uint TagMask = 3u;
18
19 internal const TableMask TablesReferenced = TableMask.TypeDef | TableMask.MethodDef | TableMask.Assembly;
20
21 internal const uint TagToTokenTypeByteVector = 2098690u;
22
23 [MethodImpl(MethodImplOptions.AggressiveInlining)]
24 internal static EntityHandle ConvertToHandle(uint hasDeclSecurity)
25 {
26 uint num = (uint)(2098690 >>> (int)((hasDeclSecurity & 3) << 3) << 24);
27 uint num2 = hasDeclSecurity >> 2;
28 if (num == 0 || (num2 & 0xFF000000u) != 0)
29 {
31 }
32 return new EntityHandle(num | num2);
33 }
34
35 internal static uint ConvertToTag(EntityHandle handle)
36 {
37 uint type = handle.Type;
38 uint rowId = (uint)handle.RowId;
39 return (type >> 24) switch
40 {
41 2u => (rowId << 2) | 0u,
42 6u => (rowId << 2) | 1u,
43 32u => (rowId << 2) | 2u,
44 _ => 0u,
45 };
46 }
47}
static EntityHandle ConvertToHandle(uint hasDeclSecurity)
static void InvalidCodedIndex()
Definition Throw.cs:201