def visit_Name(self, n): self._process_expr(n) id = n.id if id in cl.builtins: return id try: constant = self.constants[id] except KeyError: if id in self.all_variables: return id else: if isinstance(n.ctx, _ast.Store): raise CompileTimeError("Cannot assign to constant %s." % id, n) # inline constants if isinstance(constant, basestring): return cl.to_cl_string_literal(constant) cl_type = cl.infer_cl_type(constant) if isinstance(cl_type, cl.PtrType): return "__implicit__" + str(self._add_implicit(constant)) else: return cl_type.make_literal(constant)
def visit_Str(self, n): self._process_expr(n) return cl.to_cl_string_literal(n.s)