11# mypy: disable-error-code="no-untyped-def,type-arg"
2- from typing import List
2+ from typing import Any , List , Optional
33
44from strictdoc .backend .sdoc_source_code .models .requirement_marker import Req
55from strictdoc .helpers .auto_described import auto_described
66
77
88@auto_described
99class RangeMarker :
10- def __init__ (self , parent , begin_or_end , reqs_objs : List [Req ]):
10+ def __init__ (self , parent : Any , begin_or_end : str , reqs_objs : List [Req ]):
1111 assert isinstance (reqs_objs , list )
12- self .parent = parent
13- self .begin_or_end = begin_or_end
12+ self .parent : Any = parent
13+ self .begin_or_end : str = begin_or_end
1414 self .reqs_objs : List [Req ] = reqs_objs
1515 self .reqs : List [str ] = list (map (lambda req : req .uid , reqs_objs ))
1616
1717 # Line number of the marker in the source code.
18- self .ng_source_line_begin = None
18+ self .ng_source_line_begin : Optional [int ] = None
19+ self .ng_source_column_begin : Optional [int ] = None
1920
2021 # Line number of the marker range in the source code:
2122 # TODO: Improve description.
@@ -25,50 +26,51 @@ def __init__(self, parent, begin_or_end, reqs_objs: List[Req]):
2526 # For End ranges:
2627 # ng_range_line_begin == ng_range_line_begin of the Begin marker # noqa: ERA001, E501
2728 # ng_range_line_end == ng_source_line_begin # noqa: ERA001
28- self .ng_range_line_begin = None
29- self .ng_range_line_end = None
29+ self .ng_range_line_begin : Optional [ int ] = None
30+ self .ng_range_line_end : Optional [ int ] = None
3031
3132 self .ng_is_nodoc = "nosdoc" in self .reqs
3233
33- def is_begin (self ):
34+ def is_begin (self ) -> bool :
3435 return self .begin_or_end == "["
3536
36- def is_end (self ):
37+ def is_end (self ) -> bool :
3738 return self .begin_or_end == "[/"
3839
39- def is_range_marker (self ):
40+ def is_range_marker (self ) -> bool :
4041 return True
4142
42- def is_line_marker (self ):
43+ def is_line_marker (self ) -> bool :
4344 return False
4445
4546
4647@auto_described
4748class LineMarker :
48- def __init__ (self , parent , reqs_objs ) :
49+ def __init__ (self , parent : Any , reqs_objs : List [ Req ]) -> None :
4950 assert isinstance (reqs_objs , list )
5051 self .parent = parent
5152 self .reqs_objs = reqs_objs
5253 self .reqs = list (map (lambda req : req .uid , reqs_objs ))
5354
5455 # Line number of the marker in the source code.
55- self .ng_source_line_begin = None
56+ self .ng_source_line_begin : Optional [int ] = None
57+ self .ng_source_column_begin : Optional [int ] = None
5658
57- self .ng_range_line_begin = None
58- self .ng_range_line_end = None
59+ self .ng_range_line_begin : Optional [ int ] = None
60+ self .ng_range_line_end : Optional [ int ] = None
5961
6062 self .ng_is_nodoc = "nosdoc" in self .reqs
6163
62- def is_begin (self ):
64+ def is_begin (self ) -> bool :
6365 return True
6466
65- def is_end (self ):
67+ def is_end (self ) -> bool :
6668 return False
6769
68- def is_range_marker (self ):
70+ def is_range_marker (self ) -> bool :
6971 return False
7072
71- def is_line_marker (self ):
73+ def is_line_marker (self ) -> bool :
7274 return True
7375
7476
@@ -81,19 +83,19 @@ def __init__(self, start_or_end: bool, reqs_objs: List):
8183 self .reqs_objs = reqs_objs
8284
8385 # Line number of the marker in the source code.
84- self .ng_source_line_begin = None
86+ self .ng_source_line_begin : Optional [ int ] = None
8587
86- self .ng_range_line_begin = None
87- self .ng_range_line_end = None
88+ self .ng_range_line_begin : Optional [ int ] = None
89+ self .ng_range_line_end : Optional [ int ] = None
8890
89- def is_begin (self ):
91+ def is_begin (self ) -> bool :
9092 return self .start_or_end
9193
92- def is_end (self ):
94+ def is_end (self ) -> bool :
9395 return not self .start_or_end
9496
95- def is_range_marker (self ):
97+ def is_range_marker (self ) -> bool :
9698 return True
9799
98- def is_line_marker (self ):
100+ def is_line_marker (self ) -> bool :
99101 return False
0 commit comments