コード例 #1
0
	def emitBinaryOp(self, op):
		right = self.getArg()
		left  = self.getArg()

		assert op not in ('is not', 'in', 'not in'), "Unsupported operator %r" % op

		if op == 'is':
			bop = Is(left, right)
		else:
			bop = BinaryOp(left, op, right)
			bop = foldBinaryOpAST(self.compiler.extractor, bop)

		if isinstance(bop, BinaryOp) and bop.op in opnames.inplaceOps:
			self.pushAssign(bop.left, bop)
		else:
			self.pushOp(bop)
コード例 #2
0
ファイル: fold.py プロジェクト: adamlwgriffiths/pystream
	def visitBinaryOp(self, node):
		if self.descriptive(): return node
		result = self.annotateFolded(fold.foldBinaryOpAST(self.extractor, node))
		self.logCreated(result)
		return result
コード例 #3
0
ファイル: fold.py プロジェクト: winex/pystream
 def visitBinaryOp(self, node):
     if self.descriptive(): return node
     result = self.annotateFolded(fold.foldBinaryOpAST(
         self.extractor, node))
     self.logCreated(result)
     return result