StrictDoc Documentation
strictdoc/backend/sdoc_source_code/parse_context.py
Source file coverage
Path:
strictdoc/backend/sdoc_source_code/parse_context.py
Lines:
25
Non-empty lines:
21
Non-empty lines covered with requirements:
21 / 21 (100.0%)
Functions:
2
Functions covered by requirements:
2 / 2 (100.0%)
1
"""
2
@relation(SDOC-SRS-33, scope=file)
3
"""
4
 
5
from typing import Any, Dict, List, Optional, Union
6
 
7
from strictdoc.backend.sdoc_source_code.models.language_item_marker import (
8
    LanguageItemMarker,
9
)
10
from strictdoc.backend.sdoc_source_code.models.line_marker import LineMarker
11
from strictdoc.backend.sdoc_source_code.models.range_marker import RangeMarker
12
from strictdoc.helpers.file_stats import SourceFileStats
13
 
14
 
15
class ParseContext:
16
    def __init__(
17
        self, filename: Optional[str], file_stats: SourceFileStats
18
    ) -> None:
19
        self.filename: str = filename if filename else "<no filename>"
20
        self.file_stats: SourceFileStats = file_stats
21
        self.markers: List[Any] = []
22
        self.marker_stack: List[
23
            Union[RangeMarker, LanguageItemMarker, LineMarker]
24
        ] = []
25
        self.map_reqs_to_markers: Dict[str, Any] = {}