• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SamboyCoding / Cpp2IL / 22024563218

14 Feb 2026 09:29PM UTC coverage: 34.607% (+0.05%) from 34.555%
22024563218

push

github

SamboyCoding
lib: (untested) support for v105 + v106

1859 of 6713 branches covered (27.69%)

Branch coverage included in aggregate %.

185 of 225 new or added lines in 23 files covered. (82.22%)

57 existing lines in 3 files now uncovered.

4284 of 11038 relevant lines covered (38.81%)

220142.53 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.55
/LibCpp2IL/Metadata/Il2CppGlobalMetadataHeader.cs
1
namespace LibCpp2IL.Metadata;
2

3
public class Il2CppGlobalMetadataHeader : ReadableClass
4
{
5
    public uint magicNumber;
6
    public int version;
7

8
    public Il2CppGlobalMetadataSectionHeader stringLiteral; // string data for managed code
9
    public Il2CppGlobalMetadataSectionHeader stringLiteralData;
10
    public Il2CppGlobalMetadataSectionHeader @string; // string data for metadata
11
    public Il2CppGlobalMetadataSectionHeader events; // Il2CppEventDefinition
12
    public Il2CppGlobalMetadataSectionHeader properties; // Il2CppPropertyDefinition
13
    public Il2CppGlobalMetadataSectionHeader methods; // Il2CppMethodDefinition
14
    public Il2CppGlobalMetadataSectionHeader parameterDefaultValues; // Il2CppParameterDefaultValue
15
    public Il2CppGlobalMetadataSectionHeader fieldDefaultValues; // Il2CppFieldDefaultValue
16
    public Il2CppGlobalMetadataSectionHeader fieldAndParameterDefaultValueData; // uint8_t
17
    public Il2CppGlobalMetadataSectionHeader fieldMarshaledSizes; // Il2CppFieldMarshaledSize
18
    public Il2CppGlobalMetadataSectionHeader parameters; // Il2CppParameterDefinition
19
    public Il2CppGlobalMetadataSectionHeader fields; // Il2CppFieldDefinition
20
    public Il2CppGlobalMetadataSectionHeader genericParameters; // Il2CppGenericParameter
21
    public Il2CppGlobalMetadataSectionHeader genericParameterConstraints; // TypeIndex
22
    public Il2CppGlobalMetadataSectionHeader genericContainers; // Il2CppGenericContainer
23
    public Il2CppGlobalMetadataSectionHeader nestedTypes; // TypeDefinitionIndex
24
    public Il2CppGlobalMetadataSectionHeader interfaces; // TypeIndex
25
    public Il2CppGlobalMetadataSectionHeader vtableMethods; // EncodedMethodIndex
26
    public Il2CppGlobalMetadataSectionHeader interfaceOffsets; // Il2CppInterfaceOffsetPair
27
    public Il2CppGlobalMetadataSectionHeader typeDefinitions; // Il2CppTypeDefinition
28
    
29
    [Version(Min = 104f)] public Il2CppGlobalMetadataSectionHeader typeInlineArrays; // Il2CppInlineArrayLength
30

31
    [Version(Max = 24.15f)] public Il2CppGlobalMetadataSectionHeader rgctxEntries; // Il2CppRGCTXDefinition
32

33
    public Il2CppGlobalMetadataSectionHeader images; // Il2CppImageDefinition
34
    public Il2CppGlobalMetadataSectionHeader assemblies; // Il2CppAssemblyDefinition
35

36
    [Version(Max = 24.5f)] public Il2CppGlobalMetadataSectionHeader metadataUsageLists; // Il2CppMetadataUsageList, Removed in v27
37
    [Version(Max = 24.5f)] public Il2CppGlobalMetadataSectionHeader metadataUsagePairs; // Il2CppMetadataUsagePair, Removed in v27
38

39
    public Il2CppGlobalMetadataSectionHeader fieldRefs; // Il2CppFieldRef
40
    public Il2CppGlobalMetadataSectionHeader referencedAssemblies; // int32_t
41

42
    //Pre-29 attribute data
43
    [Version(Max = 27.9f)] public Il2CppGlobalMetadataSectionHeader attributesInfo; // Il2CppCustomAttributeTypeRange
44
    [Version(Max = 27.9f)] public Il2CppGlobalMetadataSectionHeader attributeTypes; // TypeIndex
45

46
    //Post-29 attribute data
47
    [Version(Min = 27.9f)] public Il2CppGlobalMetadataSectionHeader attributeData; //uint8_t
48
    [Version(Min = 27.9f)] public Il2CppGlobalMetadataSectionHeader attributeDataRange; //Il2CppCustomAttributeDataRange
49

50
    public Il2CppGlobalMetadataSectionHeader unresolvedVirtualCallParameterTypes; // TypeIndex
51
    public Il2CppGlobalMetadataSectionHeader unresolvedVirtualCallParameterRanges; // Il2CppRange
52

53
    [Version(Min = 23)] public Il2CppGlobalMetadataSectionHeader windowsRuntimeTypeNames; // Il2CppWindowsRuntimeTypeNamePair
54

55
    [Version(Min = 27)] public Il2CppGlobalMetadataSectionHeader windowsRuntimeStrings; // const char*
56

57
    [Version(Min = 24)] public Il2CppGlobalMetadataSectionHeader exportedTypeDefinitions; // TypeDefinitionIndex
58

59
    public override void Read(ClassReadingBinaryReader reader)
60
    {
61
        magicNumber = reader.ReadUInt32();
36✔
62
        version = reader.ReadInt32();
36✔
63

64
        stringLiteral = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
65
        stringLiteralData = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
66
        @string = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
67
        events = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
68
        properties = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
69
        methods = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
70
        parameterDefaultValues = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
71
        fieldDefaultValues = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
72
        fieldAndParameterDefaultValueData = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
73
        fieldMarshaledSizes = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
74
        parameters = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
75
        fields = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
76
        genericParameters = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
77
        genericParameterConstraints = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
78
        genericContainers = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
79
        nestedTypes = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
80
        interfaces = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
81
        vtableMethods = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
82
        interfaceOffsets = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
83
        typeDefinitions = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
84
        
85
        if (IsAtLeast(104f))
36!
UNCOV
86
            typeInlineArrays = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
×
87

88
        if (IsAtMost(24.15f))
36✔
89
            rgctxEntries = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
1✔
90

91
        images = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
92
        assemblies = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
93

94
        if (IsLessThan(27f))
36✔
95
        {
96
            metadataUsageLists = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
28✔
97
            metadataUsagePairs = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
28✔
98
        }
99

100
        fieldRefs = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
101
        referencedAssemblies = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
102

103
        if (IsLessThan(29f))
36✔
104
        {
105
            attributesInfo = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
30✔
106
            attributeTypes = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
30✔
107
        }
108
        else
109
        {
110
            attributeData = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
6✔
111
            attributeDataRange = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
6✔
112
        }
113

114
        unresolvedVirtualCallParameterTypes = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
115
        unresolvedVirtualCallParameterRanges = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
116
        windowsRuntimeTypeNames = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
117

118
        if (IsAtLeast(27f))
36✔
119
            windowsRuntimeStrings = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
8✔
120

121
        if (IsAtLeast(24f))
36✔
122
            exportedTypeDefinitions = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
36✔
123
    }
36✔
124
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc