Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/libcst/_parser/types/partials.py: 100%

101 statements  

« prev     ^ index     » next       coverage.py v7.3.1, created at 2023-09-25 06:43 +0000

1# Copyright (c) Meta Platforms, Inc. and affiliates. 

2# 

3# This source code is licensed under the MIT license found in the 

4# LICENSE file in the root directory of this source tree. 

5 

6 

7from dataclasses import dataclass 

8from typing import Generic, Optional, Sequence, TypeVar, Union 

9 

10from libcst._add_slots import add_slots 

11from libcst._nodes.expression import ( 

12 Annotation, 

13 Arg, 

14 Attribute, 

15 BaseExpression, 

16 BaseFormattedStringContent, 

17 Index, 

18 LeftParen, 

19 LeftSquareBracket, 

20 Name, 

21 Parameters, 

22 RightParen, 

23 RightSquareBracket, 

24 Slice, 

25 SubscriptElement, 

26) 

27from libcst._nodes.op import AssignEqual, BaseAugOp, Colon, Dot 

28from libcst._nodes.statement import AsName, BaseSmallStatement, Decorator, ImportAlias 

29from libcst._nodes.whitespace import EmptyLine, SimpleWhitespace, TrailingWhitespace 

30from libcst._parser.types.whitespace_state import WhitespaceState 

31 

32_T = TypeVar("_T") 

33 

34 

35@add_slots 

36@dataclass(frozen=True) 

37class WithLeadingWhitespace(Generic[_T]): 

38 value: _T 

39 whitespace_before: WhitespaceState 

40 

41 

42@add_slots 

43@dataclass(frozen=True) 

44class SimpleStatementPartial: 

45 body: Sequence[BaseSmallStatement] 

46 whitespace_before: WhitespaceState 

47 trailing_whitespace: TrailingWhitespace 

48 

49 

50@add_slots 

51@dataclass(frozen=True) 

52class SlicePartial: 

53 second_colon: Colon 

54 step: Optional[BaseExpression] 

55 

56 

57@add_slots 

58@dataclass(frozen=True) 

59class AttributePartial: 

60 dot: Dot 

61 attr: Name 

62 

63 

64@add_slots 

65@dataclass(frozen=True) 

66class ArglistPartial: 

67 args: Sequence[Arg] 

68 

69 

70@add_slots 

71@dataclass(frozen=True) 

72class CallPartial: 

73 lpar: WithLeadingWhitespace[LeftParen] 

74 args: Sequence[Arg] 

75 rpar: RightParen 

76 

77 

78@add_slots 

79@dataclass(frozen=True) 

80class SubscriptPartial: 

81 slice: Union[Index, Slice, Sequence[SubscriptElement]] 

82 lbracket: LeftSquareBracket 

83 rbracket: RightSquareBracket 

84 whitespace_before: WhitespaceState 

85 

86 

87@add_slots 

88@dataclass(frozen=True) 

89class AnnAssignPartial: 

90 annotation: Annotation 

91 equal: Optional[AssignEqual] 

92 value: Optional[BaseExpression] 

93 

94 

95@add_slots 

96@dataclass(frozen=True) 

97class AugAssignPartial: 

98 operator: BaseAugOp 

99 value: BaseExpression 

100 

101 

102@add_slots 

103@dataclass(frozen=True) 

104class AssignPartial: 

105 equal: AssignEqual 

106 value: BaseExpression 

107 

108 

109class ParamStarPartial: 

110 pass 

111 

112 

113@add_slots 

114@dataclass(frozen=True) 

115class FuncdefPartial: 

116 lpar: LeftParen 

117 params: Parameters 

118 rpar: RightParen 

119 

120 

121@add_slots 

122@dataclass(frozen=True) 

123class DecoratorPartial: 

124 decorators: Sequence[Decorator] 

125 

126 

127@add_slots 

128@dataclass(frozen=True) 

129class ImportPartial: 

130 names: Sequence[ImportAlias] 

131 

132 

133@add_slots 

134@dataclass(frozen=True) 

135class ImportRelativePartial: 

136 relative: Sequence[Dot] 

137 module: Optional[Union[Attribute, Name]] 

138 

139 

140@add_slots 

141@dataclass(frozen=True) 

142class FormattedStringConversionPartial: 

143 value: str 

144 whitespace_before: WhitespaceState 

145 

146 

147@add_slots 

148@dataclass(frozen=True) 

149class FormattedStringFormatSpecPartial: 

150 values: Sequence[BaseFormattedStringContent] 

151 whitespace_before: WhitespaceState 

152 

153 

154@add_slots 

155@dataclass(frozen=True) 

156class ExceptClausePartial: 

157 leading_lines: Sequence[EmptyLine] 

158 whitespace_after_except: SimpleWhitespace 

159 type: Optional[BaseExpression] = None 

160 name: Optional[AsName] = None