• 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

86.49
/LibCpp2IL/BinaryStructures/Il2CppCodeGenModule.cs
1
namespace LibCpp2IL.BinaryStructures;
2

3
public class Il2CppCodeGenModule : ReadableClass
4
{
5
    public ulong moduleName; //pointer
6
    public long methodPointerCount; //ulong
7
    public ulong methodPointers; //pointer
8

9
    //Present in v27.1 and v24.5, but not v27.0
10
    [Version(Min = 27.1f)] [Version(Min = 24.5f, Max = 24.5f)]
11
    public long adjustorThunkCount;
12

13
    [Version(Min = 27.1f)] [Version(Min = 24.5f, Max = 24.5f)]
14
    public ulong adjustorThunks; //Pointer
15

16
    public ulong invokerIndices; //ulong
17
    public ulong reversePInvokeWrapperCount; //ulong
18
    public ulong reversePInvokeWrapperIndices;
19

20
    public long rgctxRangesCount;
21
    public ulong pRgctxRanges;
22

23
    public long rgctxsCount;
24
    public ulong rgctxs;
25
    public ulong debuggerMetadata;
26

27
    [Version(Min = 27, Max = 27.9f)] public ulong customAttributeCacheGenerator; //Removed in v29
28
    [Version(Min = 27)] public ulong moduleInitializer;
29
    [Version(Min = 27)] public ulong staticConstructorTypeIndices;
30
    [Version(Min = 27)] public ulong metadataRegistration; //Per-assembly mode only
31
    [Version(Min = 27)] public ulong codeRegistration; //Per-assembly mode only.
32

33
    private string? _cachedName;
34

35
    public string Name
36
    {
37
        get
38
        {
39
            if (_cachedName == null)
3,106✔
40
            {
41
                var binary = OwningContext.Binary;
1,553✔
42
                _cachedName = binary.ReadStringToNull(binary.MapVirtualAddressToRaw(moduleName));
1,553✔
43
            }
44

45
            return _cachedName!;
3,106✔
46
        }
47
    }
48

49
    public Il2CppTokenRangePair[] RGCTXRanges => OwningContext.Binary.GetRgctxRangePairsForModule(this);
×
50

51
    public override void Read(ClassReadingBinaryReader reader)
52
    {
53
        moduleName = reader.ReadNUint();
1,553✔
54
        methodPointerCount = reader.ReadNInt();
1,553✔
55
        methodPointers = reader.ReadNUint();
1,553✔
56

57
        if (IsAtLeast(24.5f) && IsNot(27))
1,553!
58
        {
59
            adjustorThunkCount = reader.ReadNInt();
1,553✔
60
            adjustorThunks = reader.ReadNUint();
1,553✔
61
        }
62

63
        invokerIndices = reader.ReadNUint();
1,553✔
64
        reversePInvokeWrapperCount = reader.ReadNUint();
1,553✔
65
        reversePInvokeWrapperIndices = reader.ReadNUint();
1,553✔
66
        rgctxRangesCount = reader.ReadNInt();
1,553✔
67
        pRgctxRanges = reader.ReadNUint();
1,553✔
68
        rgctxsCount = reader.ReadNInt();
1,553✔
69
        rgctxs = reader.ReadNUint();
1,553✔
70
        debuggerMetadata = reader.ReadNUint();
1,553✔
71

72
        if (IsAtLeast(27f))
1,553✔
73
        {
74
            if (IsLessThan(29f))
503!
75
                customAttributeCacheGenerator = reader.ReadNUint();
×
76

77
            moduleInitializer = reader.ReadNUint();
503✔
78
            staticConstructorTypeIndices = reader.ReadNUint();
503✔
79
            metadataRegistration = reader.ReadNUint();
503✔
80
            codeRegistration = reader.ReadNUint();
503✔
81
        }
82
    }
1,553✔
83
}
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