def buildFormattedValueNode(provider, node, source_ref): value = buildNode(provider, node.value, source_ref) conversion = node.conversion % 4 if node.conversion > 0 else 0 if conversion == 0: pass elif conversion == 3: value = ExpressionBuiltinStr(value=value, encoding=None, errors=None, source_ref=source_ref) elif conversion == 2: value = ExpressionOperationUnary(operator="Repr", operand=value, source_ref=source_ref) elif conversion == 1: value = ExpressionBuiltinAscii(value=value, source_ref=source_ref) else: assert False, conversion return ExpressionBuiltinFormat(value=value, format_spec=buildNode(provider, node.format_spec, source_ref, allow_none=True), source_ref=source_ref)
def buildUnaryOpNode(provider, node, source_ref): if getKind(node.op) == "Not": return buildBoolOpNode(provider=provider, node=node, source_ref=source_ref) else: return ExpressionOperationUnary( operator=getKind(node.op), operand=buildNode(provider, node.operand, source_ref), source_ref=source_ref, )
def makeReprOperator(operand, source_ref): return ExpressionOperationUnary(operator="Repr", operand=operand, source_ref=source_ref)
def buildReprNode(provider, node, source_ref): return ExpressionOperationUnary(operator="Repr", operand=buildNode(provider, node.value, source_ref), source_ref=source_ref)