コード例 #1
0
	def _statementsForExecutionAndEvaluationIntoValue(stmts, varName):
		for i in xrange( len( stmts ) - 1, -1, -1 ):
			stmt = stmts[i]
			if stmt.isInstanceOf( Schema.ExprStmt ):
				return stmts[:i] + [ Schema.AssignStmt( targets=[ Schema.SingleTarget( name=varName ) ], value=stmt['expr'] ) ] + stmts[i+1:]
			elif stmt.isInstanceOf( Schema.BlankLine )  or  stmt.isInstanceOf( Schema.CommentStmt ):
				pass
			else:
				break
		return deepcopy( stmts ) + [ Schema.AssignStmt( targets=[ Schema.SingleTarget( name=varName ) ], value=Schema.Load( name='None' ) ) ]
コード例 #2
0
 def __py_execmodel__(self, codeGen):
     assigns = []
     for definition in self._definitions_:
         target = definition.target.model['target']
         value = definition.value.model['expr']
         assign = Py.AssignStmt(targets=[target], value=value)
         assigns.append(assign)
     return Py.PythonSuite(suite=assigns)