Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "+"
@add_slots
@dataclass(frozen=True)
class Subtract(BaseBinaryOp, _BaseOneTokenOp):
"""
A binary operator that can be used in a :class:`BinaryOperation`
expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "-"
@add_slots
return self.__class__(
whitespace_after=visit_required(
self, "whitespace_after", self.whitespace_after, visitor
)
)
def _codegen_impl(self, state: CodegenState) -> None:
state.add_token(self._get_token())
self.whitespace_after._codegen(state)
@abstractmethod
def _get_token(self) -> str:
...
class BaseBooleanOp(_BaseOneTokenOp, ABC):
"""
Any node that has a static value used in a :class:`BooleanOperation` expression.
This node is purely for typing.
"""
class BaseBinaryOp(CSTNode, ABC):
"""
Any node that has a static value used in a :class:`BinaryOperation` expression.
This node is purely for typing.
"""
class BaseCompOp(CSTNode, ABC):
"""
Any node that has a static value used in a :class:`Comparison` expression.
A comparision operator that can be used in a :class:`Comparison` expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "<"
@add_slots
@dataclass(frozen=True)
class GreaterThan(BaseCompOp, _BaseOneTokenOp):
"""
A comparision operator that can be used in a :class:`Comparison` expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return ">"
@add_slots
@dataclass(frozen=True)
),
value=self.value,
whitespace_after=visit_required(
self, "whitespace_after", self.whitespace_after, visitor
),
)
def _codegen_impl(self, state: CodegenState) -> None:
self.whitespace_before._codegen(state)
state.add_token(self.value)
self.whitespace_after._codegen(state)
@add_slots
@dataclass(frozen=True)
class In(BaseCompOp, _BaseOneTokenOp):
"""
A comparision operator that can be used in a :class:`Comparison` expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "in"
@add_slots
@dataclass(frozen=True)
expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "/"
@add_slots
@dataclass(frozen=True)
class FloorDivide(BaseBinaryOp, _BaseOneTokenOp):
"""
A binary operator that can be used in a :class:`BinaryOperation`
expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "//"
@add_slots
expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "@"
@add_slots
@dataclass(frozen=True)
class LessThan(BaseCompOp, _BaseOneTokenOp):
"""
A comparision operator that can be used in a :class:`Comparison` expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "<"
@add_slots
@dataclass(frozen=True)
A comparision operator that can be used in a :class:`Comparison` expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "<="
@add_slots
@dataclass(frozen=True)
class GreaterThanEqual(BaseCompOp, _BaseOneTokenOp):
"""
A comparision operator that can be used in a :class:`Comparison` expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return ">="
@add_slots
@dataclass(frozen=True)
statement.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "-="
@add_slots
@dataclass(frozen=True)
class MultiplyAssign(BaseAugOp, _BaseOneTokenOp):
"""
An augmented assignment operator that can be used in a :class:`AugAssign`
statement.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "*="
@add_slots
"""
Any node that has a static value used in a :class:`Comparison` expression.
This node is purely for typing.
"""
class BaseAugOp(CSTNode, ABC):
"""
Any node that has a static value used in an :class:`AugAssign` assignment.
This node is purely for typing.
"""
@add_slots
@dataclass(frozen=True)
class Semicolon(_BaseOneTokenOp):
"""
Used by any small statement (any subclass of :class:`BaseSmallStatement`
such as :class:`Pass`) as a separator between subsequent nodes contained
within a :class:`SimpleStatementLine` or :class:`SimpleStatementSuite`.
"""
#: Any space that appears directly before this semicolon.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field("")
#: Any space that appears directly after this semicolon.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field("")
def _get_token(self) -> str:
return ";"
expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return "<<"
@add_slots
@dataclass(frozen=True)
class RightShift(BaseBinaryOp, _BaseOneTokenOp):
"""
A binary operator that can be used in a :class:`BinaryOperation`
expression.
"""
#: Any space that appears directly before this operator.
whitespace_before: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
#: Any space that appears directly after this operator.
whitespace_after: BaseParenthesizableWhitespace = SimpleWhitespace.field(" ")
def _get_token(self) -> str:
return ">>"
@add_slots