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

SamboyCoding / Cpp2IL / 28719485642

04 Jul 2026 08:59PM UTC coverage: 35.251% (-3.5%) from 38.757%
28719485642

push

github

SamboyCoding
Core: Drop explicit net7 and net6 TFMs

Note these are still usable via the netstandard TFM so this doesn't break any use cases, but several packages were warning about not being tested on these TFMs.

2595 of 8474 branches covered (30.62%)

Branch coverage included in aggregate %.

4947 of 12921 relevant lines covered (38.29%)

162592.91 hits per line

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

94.83
/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
#nullable disable
9

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

33
    [Version(Max = 24.15f)] public Il2CppGlobalMetadataSectionHeader rgctxEntries; // Il2CppRGCTXDefinition
34

35
    public Il2CppGlobalMetadataSectionHeader images; // Il2CppImageDefinition
36
    public Il2CppGlobalMetadataSectionHeader assemblies; // Il2CppAssemblyDefinition
37

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

41
    public Il2CppGlobalMetadataSectionHeader fieldRefs; // Il2CppFieldRef
42
    public Il2CppGlobalMetadataSectionHeader referencedAssemblies; // int32_t
43

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

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

52
    public Il2CppGlobalMetadataSectionHeader unresolvedVirtualCallParameterTypes; // TypeIndex
53
    public Il2CppGlobalMetadataSectionHeader unresolvedVirtualCallParameterRanges; // Il2CppRange
54

55
    [Version(Min = 23)] public Il2CppGlobalMetadataSectionHeader windowsRuntimeTypeNames; // Il2CppWindowsRuntimeTypeNamePair
56

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

59
    [Version(Min = 24)] public Il2CppGlobalMetadataSectionHeader exportedTypeDefinitions; // TypeDefinitionIndex
60

61
#nullable restore
62

63
    public override void Read(ClassReadingBinaryReader reader)
64
    {
65
        magicNumber = reader.ReadUInt32();
38✔
66
        version = reader.ReadInt32();
38✔
67

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

92
        if (IsAtMost(24.15f))
38!
93
            rgctxEntries = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
×
94

95
        images = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
38✔
96
        assemblies = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
38✔
97

98
        if (IsLessThan(27f))
38✔
99
        {
100
            metadataUsageLists = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
25✔
101
            metadataUsagePairs = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
25✔
102
        }
103

104
        fieldRefs = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
38✔
105
        referencedAssemblies = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
38✔
106

107
        if (IsLessThan(29f))
38✔
108
        {
109
            attributesInfo = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
25✔
110
            attributeTypes = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
25✔
111
        }
112
        else
113
        {
114
            attributeData = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
13✔
115
            attributeDataRange = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
13✔
116
        }
117

118
        unresolvedVirtualCallParameterTypes = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
38✔
119
        unresolvedVirtualCallParameterRanges = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
38✔
120
        windowsRuntimeTypeNames = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
38✔
121

122
        if (IsAtLeast(27f))
38✔
123
            windowsRuntimeStrings = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
13✔
124

125
        if (IsAtLeast(24f))
38!
126
            exportedTypeDefinitions = reader.ReadReadableHereNoLock<Il2CppGlobalMetadataSectionHeader>();
38✔
127
    }
38✔
128
}
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