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

loresoft / EntityFrameworkCore.Generator / 15072048022

16 May 2025 03:31PM UTC coverage: 55.392% (-1.4%) from 56.772%
15072048022

push

github

pwelter34
enable nullable support

616 of 1271 branches covered (48.47%)

Branch coverage included in aggregate %.

233 of 397 new or added lines in 61 files covered. (58.69%)

17 existing lines in 11 files now uncovered.

1824 of 3134 relevant lines covered (58.2%)

88.56 hits per line

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

84.38
/src/EntityFrameworkCore.Generator.Core/Parsing/RegionVisitor.cs
1
using EntityFrameworkCore.Generator.Metadata.Parsing;
2

3
using Microsoft.CodeAnalysis;
4
using Microsoft.CodeAnalysis.CSharp;
5
using Microsoft.CodeAnalysis.CSharp.Syntax;
6

7
namespace EntityFrameworkCore.Generator.Parsing;
8

9
public class RegionVisitor : CSharpSyntaxWalker
10
{
11
    private readonly Stack<CodeRegion> _stack = new();
95✔
12

13
    public RegionVisitor() : base(SyntaxWalkerDepth.StructuredTrivia)
95✔
14
    {
15
        Regions = new Dictionary<string, CodeRegion>(StringComparer.OrdinalIgnoreCase);
95✔
16
    }
95✔
17

18
    public Dictionary<string, CodeRegion> Regions { get; }
329✔
19

20
    public override void VisitRegionDirectiveTrivia(RegionDirectiveTriviaSyntax node)
21
    {
22
        if (node == null)
234!
NEW
23
            return;
×
24

25
        var region = new CodeRegion
234✔
26
        {
234✔
27
            StartIndex = node.FullSpan.Start,
234✔
28
            Name = ParseRegionName(node)
234✔
29
        };
234✔
30
        _stack.Push(region);
234✔
31

32
        base.VisitRegionDirectiveTrivia(node);
234✔
33
    }
234✔
34

35
    public override void VisitEndRegionDirectiveTrivia(EndRegionDirectiveTriviaSyntax node)
36
    {
37
        if (node == null || _stack.Count == 0)
234!
38
            return;
×
39

40
        var region = _stack.Pop();
234✔
41
        region.EndIndex = node.FullSpan.End;
234✔
42

43
        Regions[region.Name] = region;
234✔
44

45
        base.VisitEndRegionDirectiveTrivia(node);
234✔
46
    }
234✔
47

48
    private static string ParseRegionName(RegionDirectiveTriviaSyntax node)
49
    {
50
        var preprocessingMessage = node
234✔
51
            .DescendantTrivia()
234✔
52
            .FirstOrDefault(t => t.IsKind(SyntaxKind.PreprocessingMessageTrivia));
702✔
53

54
        return preprocessingMessage.ToString();
234✔
55
    }
56
}
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