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

loresoft / EntityFrameworkCore.Generator / 15403562343

02 Jun 2025 09:51PM UTC coverage: 54.917% (+0.08%) from 54.841%
15403562343

push

github

pwelter34
test fix

643 of 1333 branches covered (48.24%)

Branch coverage included in aggregate %.

0 of 2 new or added lines in 1 file covered. (0.0%)

5 existing lines in 3 files now uncovered.

1881 of 3263 relevant lines covered (57.65%)

61.27 hits per line

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

85.71
/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<string> _classStack = new();
50✔
12
    private readonly Stack<CodeRegion> _regionStack = new();
50✔
13

14
    public RegionVisitor() : base(SyntaxWalkerDepth.StructuredTrivia)
50✔
15
    {
16
        Regions = [];
50✔
17
    }
50✔
18

19
    public List<CodeRegion> Regions { get; }
172✔
20

21
    public override void VisitClassDeclaration(ClassDeclarationSyntax node)
22
    {
23
        var className = node.Identifier.Text;
51✔
24
        _classStack.Push(className);
51✔
25

26
        base.VisitClassDeclaration(node);
51✔
27

28
        _classStack.Pop();
51✔
29
    }
51✔
30

31
    public override void VisitRegionDirectiveTrivia(RegionDirectiveTriviaSyntax node)
32
    {
33
        if (node == null)
122!
UNCOV
34
            return;
×
35

36
        _classStack.TryPeek(out var className);
122✔
37

38
        var region = new CodeRegion
122!
39
        {
122✔
40
            StartIndex = node.FullSpan.Start,
122✔
41
            RegionName = ParseRegionName(node),
122✔
42
            ClassName = className ?? string.Empty
122✔
43
        };
122✔
44
        _regionStack.Push(region);
122✔
45

46
        base.VisitRegionDirectiveTrivia(node);
122✔
47
    }
122✔
48

49
    public override void VisitEndRegionDirectiveTrivia(EndRegionDirectiveTriviaSyntax node)
50
    {
51
        if (node == null || _regionStack.Count == 0)
122!
UNCOV
52
            return;
×
53

54
        var region = _regionStack.Pop();
122✔
55
        region.EndIndex = node.FullSpan.End;
122✔
56

57
        Regions.Add(region);
122✔
58

59
        base.VisitEndRegionDirectiveTrivia(node);
122✔
60
    }
122✔
61

62
    private static string ParseRegionName(RegionDirectiveTriviaSyntax node)
63
    {
64
        var preprocessingMessage = node
122✔
65
            .DescendantTrivia()
122✔
66
            .FirstOrDefault(t => t.IsKind(SyntaxKind.PreprocessingMessageTrivia));
366✔
67

68
        return preprocessingMessage.ToString();
122✔
69
    }
70
}
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